Skip to main content

Full text of "PC Tech Journal Volume 5 Number 2"

See other formats


FEBRUARY 1987 VOL 5, NO. 2 $3-95 

FOR THE IBM SYSTEMS PROFESSIONAL 


inn' 


HttliS 


fOURNAL 










































_ 


£1*%mr m The Database 
KVlKXS Manager 




For the dealer nearest you or to order by phone call 

(800)255-8008 

BI- 1093 A in CA 18001 742-1133 in Canada (800) 237-1136 


in eflex is the 
Mm acclaimed, 
high-performance 
database manager 
that's so advanced 
it's easy to use! 

Reflex: the high- 
performance v state- 
of-the-art database 
manager 

Whether you manage mailing 
lists, customer files, or you are in 
charge of your company's budgets, 
Reflex is the database manager that 
you've been waiting for. Reflex lets 
you organize, analyze and report in¬ 
formation faster and easier than 
ever before. 

Reflex extends database man¬ 
agement with business graphics. 
Because a picture is often worth a 
1000 words, Reflex lets you extract 
the critical information buried in 
mountains of data. With Reflex, 
when you look, you see. 


Reflex: the critics' choice 

... if you use a PC, you should 
know about Reflex. Reflex and 
Reflex Workshop may be the best 
bargain in software today. 

Jerry Pournelle, BYTE 


Everyone agrees that Reflex is the 
best-looking database they've 
ever seen. 

Adam B. Green, InfoWorld 


The next generation of software 
has officially arrived. 

Peter Norton, PC Week 9 ’ 


$149.9 5 ’ 


only 


For FinancelAccounting: 

• Business Expense Tracking 

• Petty Cash Tracking 

• Line of Credit Tracking and Analysis 

• Accounts Receivable Tracking and 
Aging Analysis 

• Purchase Order Entry and Analysis 

• Purchase Order Tracking System 

• Leasing Inventory/Management 

• Asset Inventory Tracking 

• Cash Management Trial Balance 

• Commercial Real Estate Tracking 
and Analysis 

For Administration: 

• Mail Lists 

• Appointment Scheduling 

• Applicant Tracking and Inquiry System 

• Facilities Planning 

• Project Scheduling 

For Sales & Marketing: 

• Sales Lead Tracking and Analysis 

• Store Check Inventory Analysis 

• Sales Analysis 

• Trend Analysis 

For Production & Operations: 

• Manufacturing Quality Assurance Tracking 

• Assembly Repair Turnaround Tracking 

• Product Cost Analysis and Control 

98 Reflex does the job. Workshop 
shows you applications. The 400-page 
book that comes with Workshop has 
sections on creating accounting 
systems; inventory control; business 
expense reports; real estate manage¬ 
ment; production; operation and quality 
control; and just a whole bunch of 
other stuff. 

Jerry Pournelle, BYTE 99 


Reflex: don't use your 
PC without it! 

Join hundreds of thousands 
of enthusiastic Reflex users and 
experience the power and ease- 
of-use of Borland's award¬ 
winning Reflex. 


Reflex: The Workshop 
adds 22 templates 
to your business 
repertoire 


Only 

$69.95! 


You get 22 different ways to 
run your business — instantly. The 
formats are all there. All you do is 
enter your own numbers. A superb 
business tool. 


System requirements 

Reflex: The Database Manager IBM PC, AT, XT, or true 
compatibles. PC-DOS (MS-DOS) 2.0 and later. IBM 
CGA Hercules Monochrome Card, or equivalent. 384K 
Reflex: The Workshop: Requires Reflex: The 
Database Manager. 384K. 








































Turbo Prolog 


Turbo Pascal 


The power and high performance of 
Turbo Pascal is already in the hands of 
more than half-a-million people. The tech¬ 
nically superior Turbo Pascal is the de facto 
worldwide standard and the clear leader. 

The Turbo Pascal family includes: 

■ Turbo Pascal • 3.0 

■ Turbo Tutor • 2.0 

■ Turbo Database Toolbox • 

■ Turbo Editor Toolbox • 

■ Turbo Graphix Toolbox • 

■ Turbo GameWorks • 

■ Turbo Pascal Numerical Methods 
Toolbox " 


JV; 


ewf Turbo Pascal 
Numerical Methods 
Toolbox 


Only 

$99.95! 


As well as a free demo FFT pro¬ 
gram i, you a/so get /.east Squares 
Fit in 5 different forms: 

1. Power 

2. Exponential 

3. Logarithm 

4. 5-term Fourier 

5. 5-term Polynomial 

They're all ready to compile 
and run. 


All this for only 599 . 95 / 


Turbo Pasca/, fbe worldwide standard in 
high-speed compilers, and family. 


What our new Numerical Methods 
Toolbox will do for you now: 

g| Find solutions 
to equations 
gj Interpolations 

gj Calculus: numerical derivatives 
and integrals 
gj Differential equations 
gj Matrix operations: inversions, 
determinants and eigenvalues 
gj /.east squares approximations 
gj Fourier transforms 


System requirements 

IBM PC, XT, AT or true compatibles. PC- 
DOS (MS-DOS) 2.0 or later. Turbo Pascal 
2.0 or later. Graphics module requires 
graphics monitor with IBM CGA IBM 
EGA or Hercules compatible adapter 
card, and requires Turbo Graphix 
Toolbox. 8087 or 80287 numeric co¬ 
processor not required, but recom¬ 
mended for optimal performance. 256K. 

Turbo Pascal 3.0. 

Includes 8087 & BCD features for 16-bit 
MS-DOS and CP/M-86 systems. CP/M-80 
version minimum memory. 48Kj 8087 
and BCD features not available. 128K. 


££ If you're at all interested in 
artificial intelligence, databases, expert 
systems, or new ways of thinking about 
programming, by all means plunk down 
your $ 100 and buy a copy of Turbo 

Prolog. Bruce Webster, BYTE 9 9 


Only 
$99. 


Turbo Prolog, the natural language 
of Artificial Intelligence, is the most 
popular Al package in the world with more 
than 100,000 users. It's the 5th-generation 
computer programming language that 
brings supercomputer power to your IBM 
PC and compatibles. You can join the Al 
revolution with Turbo Prolog for only 
$99.95. Step-by-step tutorials, demo 
programs and source code included. 


WTew! Turbo Prolog 
1" Toolbox 

Our new Turbo Prolog Toolbox " 
enhances Turbo Prolog—with more 
than 80 tools and over 8,000 lines of 
source code that can easily be 
incorporated into your programs. It 
includes about 40 example programs 
that show you how to 
use and incorporate your 
new tools. 

New Turbo Prolog 
Toolbox features include: 

Business graphic generation 
Complete communications package 
File transfers from Reflex, dBASE III, 
1-2-3, Symphony 
A unique parser generator 
Sophisticated user-interface design 
tools 


It's the complete developer's 
toolbox and a major addition to 
Turbo Prolog. You get a wide variety 
of menus—pull-down, pop-up, line, 
tree and box—so you can choose the 
one that suits your application best. 
You'll quickly and easily learn how to 
produce graphics; set up communica¬ 
tions with remote devices; read 
information from Reflex * dBASE III* 
Lotus 1-2-3 • and Symphony* files; 
generate parsers and design user 
interfaces. All of this for only $99.95. 


Only 

$99.95! 


System requirements 

Turbo Prolog: IBM PC, XT, AT or true compatibles. PC-DOS (MS- 
DOS) 2.0 or later. 384K. Turbo Prolog Toolbox requires Turbo 
Prolog 1.10 or higher. Dual-floppy disk drive or hard disk. 512K. 


£ £ The language deal of the century. 

Jeff Duntemann, PC Magazine 9 9 


BI-1093 
































^ Eureka: 


The Solver' 


M nyone and 
/I everyone who 
routinely works with 
equations needs 
Eureka: The Solver 

It solves the most com¬ 
plex equations in seconds. 
Whether you're a scientist, 
engineer, financial analyst, 
student, teacher, or some 
other professional, you 
need Eureka: The Solver! 

Any problem that can be 
expressed as a linear or non-linear 
equation can be solved with Eureka. 
Algebra, Trigonometry and Calculus 
problems are a snap. 

Eureka: The Solver also handles 
maximization and minimization 
problems, does plot functions, 
generates reports, and saves you 
an incredible amount of time. 

X+exp(X) = 10 
solved instantly instead 
of eventually! 

Imagine you have to "solve 
for X," where X + exp(X) = 10, and 
you don't have Eureka: The Solver. 
What you do have is a problem, 
because it’s going to take a lot of 
time guessing at "X." Maybe your 
guesses get closer and closer to the 
right answer, but it's also getting 
closer and closer to midnight and 
you're doing it the hard way. 

With Eureka: The Solver, there's 
no guessing, no dancing in the dark— 
you get the right answer, right 
now. (PS: X = 2.0705799, and 
Eureka solved that one in .4 
of a second!) 


System requirements 

IBM PC, AT, XT, Portable, 3270 or true compatibles. 
PC-DOS (MS-DOS) 2.0 and later. 384K. 


How to use Eureka: 

The Solver 

It's easy. 

1. Enter your equation into 
the full-screen editor 

2. Select the "Solve” command 

3. Look at the answer 

4. You're done 

You can then tell Eureka to 

■ Evaluate your solution 

■ Plot a graph 

■ Generate a report , then send the 
output to your printer, disk file 
or screen 

■ Or all of the above 


Eureka: The Solver includes 

■ A full-screen editor 

■ Pull-down menus 

■ Context-sensitive Help 

■ On-screen calculator 

■ Automatic 8087 math 

co-processor chip support 

■ Powerful financial functions 

■ Built-in and user-defined math 
and financial functions 

■ Ability to generate reports 
complete with plots and lists 

■ Polynomial finder 

■ Inequality solutions 


Some of Eureka's 
key features 

You can key in: 

■ A formula or formulas 

■ A series of equations—and solve 
for all variables 

■ Constraints (like X has to be 
< or = 2) 

■ A function to plot 

■ Unit conversions 

■ Maximization and minimization 
problems 

■ Interest Rate/Present Value 
calculations 

■ Variables we call "What 
happens?" like "What happens 
if I change this variable to 21 
and that variable to 27?" 


All this power for only 
$99.95! 

Equation-solving used to be a 
mainframe problem, but we’ve 
solved that problem. 

Eureka: The Solver is all you 
need—and it's yours for only 
$99.95! 

That kind of savings you can 
calculate with your fingers! 


•Introductory price—good through July 1, 1987 


For the dealer nearest you or to order by phone call 

(800)255-8008 

in CA (800) 742-1133 in Canada (800) 237-1136 












Only 


66 I like 'em all[ but Lightning's the one 
that's going to change how a lot of us 
use computers . . . simply the finest 
spelling checker and electronic thesaurus 
program extant" 

Jim Seymour, MicroBusiness y y 


T urbo Lightning adds instant spell¬ 
checking and a thesaurus to all 
your spreadsheets, electronic mail, 
documents, memos, or whatever 
programs you use. 

Everything you type looks 
professional because Turbo Lightning 
checks your spelling as you type, while 
you run other programs. Turbo 
Lightning beeps every time there's 
a misspelled word, which you can 
correct instantly. 

Need synonyms? Turbo Lightning's 
on-line thesaurus instantly offers you 
the right ones. It's that easy. 

Minimum memory: 256K. Two disk drives required. 

Hard disk recommended.*** 

***IBM PC, XT, AT, PCjr, and true compatibles only. 

PC/MS-DOS 2.0 or later. 


‘Suggested list price as of February 15, 1987 

“If within 60 days of purchase you find that these products do not perform in accordance with our claims, call our customer service department 
and we will arrange a refund. All prices are suggested list prices and are subject to change without notice. 

All Borland products are trademarks or registered trademarks of Borland International, Inc. or Borland!Analytics, Inc. IBM, AT, PCjr and XT are 
registered trademarks of International Business Machines Corp. dBASE III is a registered trademark of Ashton-Tate. Lotus 1-2-3 and Symphony 
are registered trademarks of Lotus Development Corp. Hercules is a trademark of Hercules Computer Technology Crosstalk is a registered 
trademark of Microstuf, Inc. WordStar is a registered trademark of MicroPro International Corp MS-DOS is a registered trademark of Microsoft 
Corp. Macintosh is a trademark of McIntosh Laboratory, Inc. and is licensed to Apple Computer. Copyright 1986 Borland International. BI-1093A 


4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY, CA 95066 
(408)438-8400 TELEX: 172373 


S uper Key cuts down keystrokes 
because SuperKey's simple macros 
turn "Dear Customer: Thank you for 
your inquiry. We are pleased to let 
you know that shipment will be made 
within 24 hours. Sincerely/' into the 
one keystroke of your choice. Like 
magic! SuperKey's macros are elec¬ 
tronic shortcuts to success. 


SuperKey keeps your 
secrets 


Borland Software 

Programming Languages: 


Business Productivity: 


Artificial Intelligence: 


Scientific & Engineering: 


Available for the Mac: 


60-DAY MONEY- 
BACK GUARANTEE** 


For the dealer nearest 
you, or to order by phone 


call (800) 255-8008 


CA (800) 742-1133 
Canada (800) 237-1136 


BORLAND 

INTERNA T I 0 N A L 


66 . it's the most elegant program I've 

seen in many a moon." 

Stephen Manes, PC Magazine 5 5 


Turbo 


WMT'thout encryption, your files are 
WW open secrets. Anyone can read 
them. SuperKey encrypts your files and 
keeps confidential files confidential. 

Only your secret password reveals 

what yOU've written. Minimum memory: 128K.*** 


Lightning *: 


The Spell-Checker 
and Thesaurus 


SideKick: 


The Desktop 
Organizer 




Only 
$99.95!* 


O ne million users can't be wrong. 

SideKick, the first name in desktop 
organizers, offers a notepad, a calcu¬ 
lator, a calendar, and a host of other 
tools in a window on your screen. In 
the middle of programs like 1 -2-3, 
WordStar/ or Crosstalk ® you have 
instant access to a complete set of 

desk tools. Minimum memory: 128K.*** 


6 6 If you use a PC, get SideKick. 

Jerry PourneUe, BYTE 5 J 


SuperKey: 


The Productivity 
Booster 


SuperKey eliminates 
repetition 


















Btrieve. 

The Programmer's Choice. 


W hen you're serious about application 

development, there's just one choice for file 
management: Btrieve. With what Computer Language calls 
"near mainframe functionality 1 ", Btrieve sets the file 
management standard for PC applications. With Btrieve 
loaded in your PC, your programs can use simple 
subroutine calls to retrieve, store and update records. 




B-tree 

based for high 
performance. Performance 
is all-important, especially as 
your database grows. That's 
why Btrieve implements the 
■b-tree file structure—the 
fastest, most efficient method 
of accessing data. 



Interfaces to C, BASIC, Pascal, 

COBOL. Don't waste time 
programming in awkward fourth generation 
languages! With Btrieve, simply use the languages 
you know best—and write applications the right 
way. Over 15 language 
interfaces available. 


Multi-user versions for 
LANs and Xenix. When your 
applications need to network, count on 
Btrieve. A single version runs on all DOS 3 
LANs, including IBM PC Network and Novell Advanced 
Netware. Btrieve is also available for Xenix and 
multitasking operating systems such as MultiLink 
Advanced, Microsoft Windows and IBM Topview. 


Built-in security 
features. Lock up sensitive 
data with Btrieve's password protection and 
unique data encryption scheme—especially 
useful in local area networks. 




Help is 
just a phone 
call away. 

Need technical 
support? You've got it! 
Btrieve users receive 30 days 
of unlimited phone support at no charge. This 
"Direct Connect" policy is renewable for a full 
year at low cost. And try SoftCraft's free 
bulletin board for technical tips, seven days a week. 


Fault tolerant. Btrieve 
insures against database dis¬ 
asters. Two levels of fault 
tolerance guarantee data 
integrity during accidents or 
power failures—even if 
lightning strikes. No extra 
programming required. 




Thorough documentation, easy implementation. Getting 
started with Btrieve is easy: the manual is packed with examples of 
every Btrieve function in BASIC, Pascal, COBOL and C. 


Database queries, report writing. Add Xtrieve ™ to your Btrieve 
applications for a fully-relational DBMS. Xtrieve's menu-driven 
interface gives your users the on-line query capabilities they 
need—without programming. Add 
our report writer option to produce - 
custom reports and forms. 


Xtrieve 


No royalties. 

Need we say more? 


Btrieve 



SoftCraft 


P.O. Box 9802 #917 Austin, Texas 78766 (512) 346-8380 Telex 358 200 

Suggested retail prices: Btrieve, $245; multi-user Btrieve, $595; Xtrieve, $245; multi-user Xtrieve, 

$595 (for report generation, add $145 for single-user and $345 for multi-user). Available from SoftCraft 
and selected distributors. Requires PC-DOS or MS-DOS 2.X, 3.X, Xenix. Btrieve is a registered 
trademark and Xtrieve is a trademark of SoftCraft Inc. 1 From Computer Language, November 1985. 

CIRCLE NO. 201 ON READER SERVICE CARD 
























FEBRUARY 1987 



VOLUME 5, NUMBER 2 





Speed Infusion 


UPWARD TO THE 80386 / CALDWELL CROSSWY and MIKE PEREZ 

The Intel Corporation’s powerful 32-bit 80386 microprocessor brings minicomputer function and performance to the PC while 


still maintaining compatibility with software that was developed for its predecessors, the 8086/88 and 80286. 


50 


WINDOWS OF OPPORTUNITY / PAUL GRAYSON 

Microsoft Windows promises to free users and developers from device dependencies and provide a compatibility bridge to future 
products. A close look at the Development Kit and a sample application leads to a better understanding of Windows. 70 

Compatibility and Performance: PC’S LIMITED 286 12 / STEVEN ARMBRUST and TED FORGERON 

A system offering 12-megahertz performance may present a good value for the price, but the PC’s Limited model that was . 

reviewed was found to have significant reliability problems and did not live up to its good-looking package or advance billing. y 4 

DESKTOP DATA ACQUISITION / VICTOR E. WRIGHT 

ASYSTANT+ from Macmillan Software converts the IBM PC into a desktop data acquisition and analysis system. In the laboratory ^ 
or in industry, it can take the place of more expensive, dedicated instruments—albeit at a loss in ultimate performance. 1UO 


SPEED INFUSION / TED MIRECKI 

The simplest type of accelerator board runs the PC at a higher clock speed while retaining the 8088, but the performance 
improvement is far from spectacular. In the first of a series on accelerators, six of these class I boards are reviewed. 


126 


TOKEN-KING NETWORK, PACT 2 / J. SCOTT HAUGDAHL 

Because more and more PC users are considering local area networks, the demand for standards and benchmarks to measure 

LAN performance will quickly mushroom. Guidelines are presented for selecting a suitable LAN environment. 1 JO 


EXECUTION PROFILERS FOR THE PC, PART 2 / RALPH G. BRICKNER 


Five commercial software profilers are examined for their ability to identify those parts of a program that are the most time ^ ^ 

consuming. The products reviewed are from Atron, David Smith, dwb Associates, Phoenix Technologies, and Stony Brook. 1 v)0 

9 DIRECTIONS 

45 TECH NOTEBOOK 

179 PRODUCT WATCH 

195 TECH MARKETPLACE 

Far Afield with 

Conditional-jump 

Vector87 


Windows 

Macros 

ADIC Model TD 440 
High-C 

204 MAIL ORDER 

17 LETTERS 

173 PROGRAMMING 

187 EXPERT CONSULTANT: 

216 CALENDAR 


PRACTICES 

HUMAN FACTORS 

32 TECH RELEASES 

Creating Sound with 
the Timer 

Three Misconceptions 

217 READER SERVICE CARD 



193 BOOK REVIEW 




Database Practicum 



Cover photograph • Walter Larrimore/Blakeslee-Lane 
































Software Tools 

For Programmers & Non-Programmers 


Get ‘State of the Art’ performance 
and save valuable time with these 
high quality utilities! 

Opt-Tech Sort™ 

Opt-Tech Sort is a high performance Sort/Merge/Select 
utility. It can read, sort and write a file faster than most 
programs can even read the data. Example: 1,000 
records of 80 bytes can be read, sorted and a new file 
written in less than 10 seconds (IBM XT). Opt-Tech Sort 
can be used as a stand-alone program or called as a 
subroutine to over 25 different programming languages. 

All the sorting, record selection and reformatting facilities 
you need are included. A partial list of features includes: 
The ability to process files of any size. Numerous 
filetypes are supported including Sequential, Random, 
Delimited, Btrieve, dBASE II & III and many others. Up 
to 10 key fields can be specified (ascending or descend¬ 
ing order). Over 16 different types of data supported. 
Powerful record selection capability allows you to specify 
which records are to be included on your output. Record 
reformatting allows you to change the structure of your 
output record and to output special fields such as record 
numbers for use as indexes. 

MS-DOS $149. ★ NEW ★ Xenix $249. 


VERSION On-Line Help™ vS 

On-Line Help allows you to easily add “Help Windows” 
to all your programs. On-Line Help is actually two help 
packages in one. You get BOTH Resident (pop-up) and 
Callable Help Systems. 

The resident version allows you to add help to any 
system. Your Help System is activated when the “Hot 
Keys” that you specify are pressed. You can then chain 
between help windows in any manner you desire. 

The callable version allows you to easily display help 
windows from your programs. A simple call to the help 
system makes the window appear. The original screen 
is automatically restored when the help window is 
cleared. On-Line Help is callable from over 20 different 
languages. 

You have full control over the help window content, size, 
color and location. 

MS-DOS $149. Demo $10. (apply toward purchase). 


Scroll & Recall™ 

Scroll & Recall is a resident screen and keyboard 
enhancement. It allows you to conveniently scroll back 
through data that has gone off the top of your display 
screen. Up to 27 screens of data can be recalled or writ¬ 
ten to a disk file (great for documenting systems opera¬ 
tions). Also allows you to easily recall and edit your 
previously entered DOS commands without retyping. 
Scroll & Recall is very easy to use. It’s a resident utility 
that’s always there when you need it. MS-DOS $69. 

Visa, M/C, AMEX, Check, Money Order, COD 
or Purchase Orders accepted. 

To order or to receive additional information just call 
and receive immediate highly qualified attention! 

Opt-Tech Data Processing 

P.O. Box 678 — Zephyr Cove, NV 89448 
_ (702) 588-3737 _ / 



OURNAL. 

VOL. 5, NO. 2 


PUBLISHER: Newton Barrett 

EDITOR: Will Fastie _ 

EDITORIAL 

MANAGING EDITOR: Marjory Spraycar 

EXECUTIVE EDITOR: Julie Anderson 

SENIOR TECHNICAL EDITOR: Jim Shields 

TECHNICAL EDITORS: Caroline Halliday, David Methvin 

CHIEF COPY EDITOR: Susan Holly 

COPY EDITOR: Gail Shaffer 

PROOFREADERS: Bruce Ansley, Elizabeth Wardlaw 

NEW PRODUCTS EDITOR: Carole Autenzio 

OFFICE MANAGER: Trish Ledbetter 

EDITORIAL SECRETARY: Valerie Rose 

RECEPTIONIST: Cecilia R. Titus 

CONTRIBUTING EDITORS: Steven Armbrust, Dave Browning, Michael 
Covington, Richard M. Foard, Ted Forgeron, Angie Hansen, Thomas V. 
Hoffmann, Henry F. Ledgard, Ted Mirecki, Max Stul Oppenheimer, 
Richard Schwartz, Robert Shostak _ 

ART & PRODUCTION 

ART DIRECTOR: Paula Jaworski 

ASSOCIATE ART DIRECTOR: Sharon Reuter 

ART ASSISTANT: Maria Sese 

PRODUCTION MANAGER: Alison Regan Mrohs 

CONTRIBUTING ARTISTS: Maciek Albrecht, David Povilaitis 

ADVERTISING SALES 

ADVERTISING DIRECTOR: Rita Burke 

ADVERTISING MANAGER/WEST COAST: Phyllis Egan 

MARKETING DIRECTOR: Gayl Sorota 

ASSISTANT TO THE PUBLISHER: Kathleen Abbott 

ADVERTISING COORDINATOR: Mary Martin 

MARKETING COORDINATOR: Kimberly Schroeder 

SALES SECRETARY: JeanMarie Donlin 

DISTRICT MANAGERS: Rosemarie Caruso—New England; Arlene 
Braithwaite — Southeast; Pat Toohey — Mid-Mlantic, Bill Barney — Midwest; 
Bill Bush, Phyllis Egan, Nan Hanna—West Coast 
ACCOUNT REPRESENTATIVES: Polly White—New England/Southeast; 
Nanette Vilushis — Mid-Atlantic/Midwest; Carey Clarke—West Coast; 

John Blake—National Accounts, Mail Order; Classified advertising 
director—Kathryn Cumberlander 

CIRCULATION 

CIRCULATION MANAGER: Charles Mast 
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig 
MEDIA MANAGER: Melinda Kendall 

RETAIL SALES MANAGER: Carol Benedetto _ 

ZIFF-DAVIS PUBLISHING COMPANY, a division of Ziff Communications Co. 

PRESIDENT: Kenneth H. Koppel 

SENIOR VICE PRESIDENT, Marketing: Paul Chook 

VICE PRESIDENT, Operations: Baird Davis 

VICE PRESIDENT, Controller: John Vlachos 

VICE PRESIDENT, Creative Services: Herbert Stem 

VICE PRESIDENT, Circulation: Adicia Marie Ivans 

VICE PRESIDENT, Circulation Services: James Ramaley 

VICE PRESIDENT, Marketing Services: Ann Poliak Adelman 

VICE PRESIDENT, Development: Seth Alpert 

VICE PRESIDENT: Hugh Tietjen 

BUSINESS MANAGER: Gary A Gustafson 

PRODUCTION DIRECTOR: Walter J. Terlecki _ 

ZIFF COMMUNICATIONS COMPANY 

CHAIRMAN: Philip B. Korsant, PRESIDENT: Kenneth H. Koppel; SENIOR VICE PRESIDENT: 
Philip Sine; VICE PRESIDENTS: Laurence Usdin, William L. Phillips, J. Malcolm Morris, 
Steven C. Feinman; TREASURER: Selwyn I. Taubman, SECRETARY: Bertram A Abrams 

EDITORIAL OFFICE 

PC Tech Journal, Suite 800, 10480 Little Patuxent Parkway, Columbia, MD 
21044. 301/740-8300. FAX (group 3): 301/740-8809. MCIMail: PCTECH. 
PCTECHline: 301/740-8383- Telex: 6502565932 MCI._ 

ADVERTISING OFFICES 

(East Coast/Midwest) Suite 800, 10480 Little Patuxent Parkway, Columbia, MD 
21044. 301/740-8300. (New England) 90 Everett Street, Arlington, MA 02174. 
617/868-4611. (Mid-Atlantic) 266 Lighthouse Road, New Haven, CT 06512. 203/ 
469-2313. (West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387- 
2100; 11 Davis Drive, Belmont, CA 94002. 415/598-2290. 

SUBSCRIPTION INQUIRIES 

PC Tech Journal, P.O. Box 2968, Boulder, CO 80321. Subscription service: 800/525-0643, 
303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to Ziff-Davis Publishing, One Park 
Avenue, 4th floor, New York, NY 10016. _ 

PC Tech Journal (ISSN 0738-0194) is published by Ziff-Davis Publishing Co., a division of 

Ziff Communications Co., One Park Ave., New York, NY 10016. Published monthly except 
semi-monthly in December. Subscription rate is $34.97 for one year (13 issues). Additional 
postage for Canada and Foreign is $6.50. Second-class postage paid at New York, NY, and at 
additional mailing offices. POSTMASTER: Send address changes to PC Tech Journal, P.O. 
Box 2968, Boulder, CO 80321._ 

PC TECH JOURNAL is an independent journal, not affiliated in any way with International 
Business Machines Corporation. IBM is a registered trademark of International Business 
Machines Corp. Entire contents Copyright ® 1987 Ziff-Davis Publishing Company, a division 
of Ziff Communications Company. All rights reserved; reproduction in whole or in pan 
without permission is prohibited. Direct written requests to Jean Lamensdorf, Licensing 
Manager, Reprints/Rights & Permissions, One Park Avenue, New York, NY 10016. 

A 1985 AWARD FOR 
J|gL BEST COMPUTER MAGAZINE 
&|||^Computer Press Association 



4 


CIRCLE NO. 222 ON READER SERVICE CARD 


PC TECH JOURNAL 
































The Periscope Difference 


You’ll need it sooner or later 
if you’re doing serious software development 



W ' hen you’re writing large and/or complex pro¬ 
grams, it’s inevitable that you’ll have to deal 
with some tough debugging problems. Your debugger 
should help you find and solve those problems quick¬ 
ly. The more solid, dependable, and efficient your 
debugger is, the better able it is to help you out in 
those difficult situations. The big difference between 
Periscope™ and other debuggers is this: Periscope 
enables you to debug programs other debuggers can’t 
handle AND to debug in situations in which other 
debuggers won’t work! 

“We have been buying Periscope for about two years now ; 
and have always been more than satisfied with the hard- 
ware, the software, and the responsiveness of the company. 
We have used Periscope in a great many difficult situations , 
where our only other alternative was a very expensive ICE 
(in circuit emulator). Periscope has performed most 
admirably” writes Dr. William Ash, Technical Director, 
FEL Computing. 


T he Periscope Promise. 

Continued product 
enhancement and user 
support. 


P eriscope Quality. 

The reason for 
Product of the Month. 


“Periscope was chosen as the January (1986) Product of 
the Month because it represents what we felt was an ex¬ 
cellent balance between power and cost and it has an ex¬ 
traordinarily clean and innovative design.. .the overall 
aura of quality was too strong to ignore ” writes Jeff 
Duntemann, Technical Editor, PC Tech Journal, 7/86. 


n 


e Periscope Solution. 
A full line of debugging 
products that keep 
getting better. 


“I have used Periscope daily for the past few months for 
testing and debugging my assembly code and I am still con¬ 
vinced this is the finest hardware or software debugger 
available at any price,” writes long-time Periscope user 
Wynn Bailey. 


“Not only is your Periscope (Model I) software the greatest 
thing since K&R, but your support has won over even the 
heart of this hardened programmer,” writes Periscope user 
Mark Kumler of US Maintenance. “I had decided long ago 
that no one in the industry cared about their customers 
after the check was cashed. You have definitely changed 
my opinion on that subject!” 

• User ideas are often implemented 

• Your first software update is free; later up¬ 
dates are just $20 

• You get free technical support and advice 

• You can trade up for $10 plus the difference 
in price 

• You get a 30-Day, Money-Back Guarantee 


To Order or Receive Free 
Information, Call Toll-Free: 


There’s a model of Periscope to meet your needs and 
budget. The enhanced Version 3.0 gives you more 
value than ever before! Call for details. 


Periscope I has break-out switch & board 


with 56K of protected RAM.$345. 

Periscope II has break-out switch.$175. 

Periscope II-X (software-only model).$145. 


Periscope III has break-out switch & board 
with hardware breakpoints, a real-time 
trace buffer, and 64K of protected RAM.. .CALL. 


The 

PERISCOPE 

Company, Inc. 

14 Bonnie Lane, Atlanta, GA 30328 404-256-3860 


ffl 800/722-7006 S 


CIRCLE NO. 215 ON READER SERVICE CARD 




















C COMPILER 








SUBSTANTIATED. 


SUPREMACY 

It's a bold claim. A claim 
we're prepared to stake our 
reputation on. And at 
Computer Innovations, we've 
always taken our reputation 
very seriously. 

It's no industry secret that 
the competitive C Compilers 
are at the end of their 
optimization cycle — they're 
just about as good as they 
are going to get. C86PLUS 
begins where everybody else 
has left off. It's an entirely 
new technology based on 
artificial intelligence and 
advanced compiler design 
techniques. Designed with the 
serious programmer in mind, 
C86PLUS provides the ultimate 
development environment, 
matching unparalleled 
execution speed with a host 
of productivity features. 

FAST EXECUTION 

• 20% faster than Microsoft C, 
version 4.0 

• 70% faster than existing C86, 
version 2.3 

(timings based on the 
classic sieve benchmark) 

ANSI C COMPILER 
FEATURES 

• Register variables 

• Structure assignment 

• Function prototypes 

• New type modifiers 

-near 

-far 

-signed 

-const 

-volatile 

• Long double 80 bit floating¬ 

point 

• Enumerator data types 

(enums) 

• Extended preprocessor 

capabilities 

CIRCLE NO. 144 ON READER SERVICE CARD 


FULL CONTROL OVER 

COMPILATION 

ENVIRONMENT 

• Small, Medium, and Large 

memory models 

• 8086/80186 and 80286 code 

generation options 

• In-line 8087/80287 floating 

point 

• 8087/80287 auto detect 

emulator 

• Source level debugger support 

• Wild-card compilation 

• Make utility 

• ROMable code 

• Linkable with macro 

assembler output 

• Intel-standard OMF object files 

• Optional assembly language 

output 

• Warning level control 

EXTENSIVE FUNCTION 
LIBRARIES FOR 
INCREASED PRODUCTIVITY 

• Over 250 library functions 

• Full ANSI C library 

• Functional equivalents to most 

UNIX System V libraries 

• Shared file and network 

support 

• Low-level machine access 

functions 

• IBM ROM BIOS support 

routines 

• Fully compiled small, medium 

and large model libraries 

• C library source code 

• Run-time start-up source code 

• Source code librarian 

• Object code librarian 


COMP U IE R l N \ O V A ! i O N $ 



COMPUTER 

INNOVATIONS 



MICROSOFT 

COMPATIBILITY 

If you're a current Microsoft 
user, we invite you to consider 
this simple point. C86PLUS 
will recompile most applications 
developed using MS-C with¬ 
out changes to your source 
code. You'll find that your 
application runs much faster. 

PROVEN EXPERIENCE 

In 1981, Computer Innovations 
and its founder, George 
Eberhardt, revolutionized the 
DOS programming world with 
the introduction of the first C 
Compiler for the PC called C86. 
Today, C86 boasts a satisfied 
and loyal user base of over 
20,000 programmers worldwide. 
C86PLUS represents an 
extension of this expertise and 
reputation. It's backed with 
more than a decade of 
intensive research and develop¬ 
ment. 

PROVEN SUPPORT 

Making the claim that 
C86PLUS is supreme is one 
thing, standing behind it is 
another. Computer Innovations 
has always offered timely and in¬ 
telligent technical support, 
and this is an important 
customer service which we do 
not intend to change. 

CALL TO ORDER 

The call is on us. For more 
information or to order call: 

800-922-0169 
or 201-542-5920 (in Nj) 


980 Shrewsbury Ave. 

Tinton Falls, NJ 07724, USA 
Telex: 705127 COMP INNOV UD 

C86 PLUS is a trademark of Computer Innovations, Inc. 
Microsoft is a registered trademark of Microsoft Corporation 
UNIX is a registered trademark of AT&T Bell Laboratories IBM 
is a registered trademark of International Business Machines 
Corporation 

©1986 Computer Innovations. Inc. 












WHAT'S THE SECRET DEBUGGING WEAPON 
USED BY EVERYBODY FROM BORLAND TO ORACLE? 
FREE 44-PAGE 

“WE COULDN’T HAVE DONE IT WITHOUT 
ATRON’S HARDWARE-ASSISTED 
SOFTWARE BUGBUSTERS.” 


3 COM ADP AMP ARC/AMS AST 
Research AT&T Accent Software Access 
Technology Accufiber Accurex Active 
Voice Activision Actrix Advance Tech¬ 
nology Advance Telecomputer Systems 
Advanced Digital Aetna Akron Standard 
Allen Bradley Alloy Computer Products 


Philippe Kahn 
Borland Pres. 


Larry Ellison 
Oracle Pres. 


Alphatype Alsys Alternative Technologies Amber Systems American 
Airlines American Computer Products Boeing Bunker Ramo Bain Com¬ 
pany Ballistech Boston Bankers Trust Banyan Systems Barber Coleman 
Baron Beatrice U.S.Foods Beckman Instruments Bell Communications 
Bell Northern Research Bentley Systems Berkeley Graphics Berman 
Technologies Biocom Bizcomp Blaise Computing Boeing Aerospace 
Boeing Computer Systems Borland international Bolder Software Group 

Br a g Systems Bridge Communications Bridge Systems Bubble Soft Bunker Ramo Calma GDI Centec 
Gteber CNA Insurance CPF CRT Group CText Cubicomp CiiSiinet Software CXI Cableshare Cadtrak 
California Computer Products California Network Systems Campbell Soup Company Canadian Pacific 
Railway Candella Candle Capstone Technology Carnegie Mellon Cellular Systems Centec Chevron 
Ciba Corning Cintel Cipher Data Circadian Citibank Citicorp Coherent Colortran Comarco Compaq 
Ccmipusync Compucom Compugraphic Computer Aided Management Computer Library Rawer Com¬ 
puter Research Computer Sciences Computer Technology Cotntetm Converse Technology Concentric 
Systems Concept Technologies Concurrent Sciences Consolidated Controls Consol id 
cessing Control 3e an m 

Lit C ft Cybenek Cyborg C y hot ec h Cvnex Data 

G« Durability Oat rah Digital Equipment Deha Computer Digital Specialties 

Dfcl/McGraw Hill DRS L>n 
Re ■. 1 ' ■ 

D« r.j 
Di 
Dt 
El* 

Ex 
Sy 
G. 


c 

: i m\ : 

at; 

*.:ct Vm 

D 

)n 

1C 

is I 

•m 

tai 

rtgy Materials Er 

>n 


•rl 


IE 


Gi 



muntcai 

turns Gulf 

tit 


unter ar 

1 I 

ad v H 

ammer 

Cotnpi: 

iter 

System 

s Lanier i 

Harvard 

Software Ha' 

es 

M 

rocom 

put?! 

Hewlei 

rt-Packard l 

lo 

ieyw 

ell Hugh 

s/ 

rCraft 


jmai 

ni 

:e II 

JM IDE 

Associate 

sIKOSS 

ystems Infom 

ia- 

tic 

Resot 

JTCes 

Intert© 

it Irwin Ms 

n 

T C 

x«uner 11 

no 

Bush* 


ull 

; \ m 

comp 1 

ncom Ind 

ex Techn 

ology lndusti 

al 

M 


>Soft 

Infbrmatech Inton 

/St 

ms 1 

Informati 

s I 

format! 

ior 

t Bui 

ler 

ostrf 

t Interc 

om Inteer 

ated Computer Solutit 

ns 

In 

Ihgen? 

r Onr 

ics Inret 

rac Interact 

ill 


ctive 1m; 

;es 


t\\ 

r Re; 

ire 

itera 

ctive Training Sy 

stems Inr 

erdyne Interfi 

ce 

Sp 


> Inte 

relation 

a ] Treasury 

, I 

uen 

>hase int 

rte 

t fame] 

<a 

Irvii 

T 

Cor 

npanv 1 

solation S 

ystetns jo 

ihnson Contr 

ils 

Ja> 

in Soi 

Irwan 

e KByte 

Kaiser Key 

K. 

ywoi 

rd Office 

ec 

es 

Kim 

an 

ila T 

bchm>l. 

jgy Krone 

s Kurrwei 

il Computer 1 

SI 

La 

erLe; 

ir Sve 

gler Let 

r$t>n Electri 

?tc 

n G 


iel 

rt Linp 

[U2 

iTec 

In 

iatio 

nal Lin 

kware Liv 

ing Vi dec 

> Text Lockht 

id 

Lc 


aputt 

•t Logici 

raft Log it ec 3 

£U 



an 

Lotus 1 

De 


lei 

ynx 

Robot k 

;s M&M1 

Enterprise 

;s MDS Quan 

:el 

M 

itor G 

raphi 

cs Meta 

war? Mica 

Ml 

T M 

iagnesys 

la* 

letk Be 

r\ 

^her 

X 

stre^ 

im Dan 

^ Manage* 

nent Soli 

«ions Manui 

*c- 

tu 

r$ Hanover 

Trust 1 

Clare Sofru 

:ri 



,tS : 

iformat 



en 


:r Software Build 

lets Ma>T 

tard Electron 

cs 

M 

joxmv 

:k & 

Dodge 1 

McDonnell 

s 1 



a ( 

jrbemei 

tic 

s Mt 

tdc 

va Men 

tor Graph 

ics Mend 

lan instrume 

its 

M 

hnok 

>ey Met 

aparh Meti 

m 


it Systeti 

K 

tropoli 

ItA 


M 

Me 

thods IS 

dicro Rim 

MicroPf 

ionics Microl 

ro 

M 

roSoft 

Micro Way 

Mtux of* 

n*l .at 

i M 

icrocomj 

; .Iter 

Cono 


ts W 

TO, 

putt 

k r Solu 

rions Mic 

rodynamics Micmgru. 

sis 

Micrometries Immune 

nr Miles L 

aboratofy Mm* 

iscape K 

ism? 

Systems 

Mic 

...bisiv, l 

:lectn«ncs 

Molecular 

Design Monchik-Wd 

;*er 


Mon m; m Mukimare Mukitech NCR Comren N*aeiius Nahonai Advanced Systems 

N. tsi n. ;il ns 

Nsrval Air Development Center Nelson Analytical Neried Syttera m ag 

Systems New Business Systems New York Times New York University Nexus In fo rm a t io n System;. Nielsen Consulting Norland 
Northwest Instrument System North w estern Mutual I die Insurance Newell Newllvs Numerix OEMTEK Orion Research ( Ibjective 
System Gee Watics Computes Center Ofticetech Oilgear Company Olivetti OlsOn Research Ass es 

Omnicad Omuig On-Line Software Systems Oprisoft Opus Syste ms Oracle Orchid Technology Owens Conun Xl&E 

Pacific Beil PC Support PCad Fbhftmn nocessSymems Pacific Ma nag eme nt Pansopha- Systems Passkey Pathway Design fear Marwick 
& Mitchell Pegasus Software Penultimate Fferkin Elmer Persoft IVrsonal Computer Products (ktit Logic Systems Phamis Phoenix 
Software Associates Phone 1 Photon Phyrix lntemation.il PiCoSoft Pick Systems Pitney Bowes Phatnok Systems Polaroid Polygen 
Polygon Software Polytel (bsttch Priam pritnavera Systems Prime Computer Princeton University Printer Systems Pro-Log Project 
Software Prolan Promis Information System Protocol Computer Puritan Bennett Quadram Quintar Quotum Systems RCA Reuters 
Rfical Yadic Ramada Inns Raytei Raytheon Company Reflectone Relational Technology Reliability Center Rochester Instrument 
Systems Rockwell International Rohm & Haas Rolm RoseSoft SA$ Institute Sensory Servio Logic N-Dex Labs Singer Kearlott Smith 
Data Processing Softpro Space Labs Spefry Step Engineering Summa Four Sandia National Lab Santa Clara Systems Scanning 
Management Schlage Electronics Sentry Systems Shaffstall Shell Development Shell Oil Siemens Sierra On-Line Simplex Time 
Recorder Singular Solutions Small Computer Small Library Computing Soffbndge Micro Systems Softcom Softlogic Solutions 
Sqftpro Softrak Systems Software Arts Software Construction Software Decisions Software Group Software Publishing Software 


This is the city saved by the 
Atron bugbusters. Your city. 

Full of wizards, with hundreds 
of millions of dollars invested 
in wringing every ounce of 
intelligence and performance 
out of your PC. It used to be 
plagued with the toughest 
software bugs known to man¬ 
kind. 

PLAGUES OF 
BIBLICAL PROPORTIONS 

The first and most difficult 
plague was impossible to trap 
with software debuggers. 

These were carnivorous bugs 
which randomly overwrote 
programs, data, even the 
debugger. Nastiest were the 
ones that slipped in once every 
few hours, or changed their 
behavior after each new com¬ 
pile. Forty days and forty 
nights of recompiling, trying 
something else , caused many 
a would-be resident of the city 
to run screaming into the wil¬ 
derness, never to be heard 
from again. 

Second came the plague of 
not knowing where the pro¬ 
gram was, or where it had 
recently been. This com¬ 
pounded the first plague: How 
could anyone know what 
caused the random memory 
overwrites? Add to this ran¬ 
dom interrupts and timing 
dependencies, and you begin 
to understand The Fear that 
gripped the city. 

Then came the last plague, 
which brought the wizards to 
their knees before they even 
started debugging. Their tow¬ 
ering programs consumed so 
much memory, there wasn’t enough room for their symbol table, let alone 
debugging software. Even if they could get past the first two plagues, this 
one killed their firstborn software. 

ENTER THE HARDWARE-ASSISTED SOFTWARE BUGBUSTERS 

The Atron solution came as a revelation: Monitor every memory 
reference and every instruction executed, by adding a hardware board to 
the AT or PC with an umbilical probe to the processor. 

The result? Wham! The PC PROBE™ and the AT PROBE™ saved 
civilization as we know it. The first plague was cured with PROBE’S 
hardware-assisted breakpoint traps on reading, writing, executing, input¬ 
ting and outputting. These could be done on single or ranges of addresses, 
and could include particular data values. All in real time. For a mere 
software debugger to attempt this, a 1-minute program would take 5 hours 
to execute. 

The second plague, not knowing from whence you came, was cured 
with PROBE’S real-time trace memory. The history of program execution 
is saved on-board, in real time. Once a hardware trap has occurred, 


ANSWER FROM ATRON. 

PROBE displays the program execution in detail, including sym¬ 
bols and source code for C, Pascal, or assembly language pro¬ 
grams. Which shows how out-of-range pointers got that way. 

The third plague, not enough room for the 
debugging symbol table to be co-resident in 
memory with a large program, was cured with 
1-megabyte of on-board, hidden, write-pro¬ 
tected memory. System memory was then free 
for the program, keeping the symbol table and 
debugger safe from destruction. 

When the job of bugbusting 
was done, the wizards used 
their PROBEs as performance 
analyzers. So they could have 
both reliability and perfor¬ 
mance. So they could send 
only the best software into the 
field. 


ta 


I CS 

Diagnostic Retrieval Dialogic Dicomed Dictaphone 
3i| ay 

E< 'ts 

ics ns 

Ba ta 

Ft et 

os er 


Space I ... 

Micro Systems Symantec Synamitcal ^ 


Labs Sperry Spruce Technology J 


Specialist Solution Technology Sony of America Sava Computing LTD i 

Systems Studio Software Summa Four Suitimitt Software Technology Sun f_ .,_,_,_ 

Software Synex Sysgen Systems for Automatic Test Sytek Tahdy TBL TCl_Telesis TJ Controls Trane TRW Tand| 
Computers Tari Group Tersus Sofj 
Tfclerate Systems Telesis Televi*' 

Timeline Timeplex Technical 
Systems Transnet Telecommumc 
Laboratories Tymshare Ultra Sy: 

Airlines Vermont Micro Systems 
Votan W. R. Grace Wang Labs ' 

Westinghouse Weyerhaeuser W 

xcgmP --— " 



IF YOU AREN’T AN ATRON 
CUSTOMER, ODDS ARE YOU 
WON’T BE MAKING 
THE TOP-TEN LIST. 

On any given week, at least 
nine of the top ten best-selling 
software packages on the Soft- 
Sel Hotlist come from Atron 
customers. 

Ever heard of Borland? 
“Without Atron,” says its 
president Philippe Kahn, 
“there wouldn’t be a Side- 
Kick™, Turbo Lightning™ 
would be light-years away, and 
Turbo Prolog™ wouldn’t be 
shipping today.” 

Ever use a spreadsheet? 
From Enable™ to Paradox™, 
their bugs were busted by 
Atron products. 

Into DBMSs? Everyone 
from Ashton-Tate to Oracle 
owns at least one Atron bug- 
buster. 

If you use a product from 
one of the companies in The 
City , you owe life as you know 
it to Atron. Our guess is that 
99% of all PCs, XTs and ATs 
have at least one product 
debugged with Atron bug¬ 
busters. 

FREE 44-PAGE BUGBUSTING BIBLE COULD MAKE YOU 
A PROPHET, AND YOUR COMPANY A PROFIT. 

We’ve written a complete tutorial on state-of-the-art bugbusting. 
And it’s yours, free for the asking. Full of examples and illustra¬ 
tions, it will show you how the wizards work their magic. 

If you’re tired of suffering the wrath of program bugs, call Atron 
today. You could be busting bugs, and sales records, tomorrow. 


I Structure 
Synergistic 
I. Tandem 
I Teledyne 
I Tiketron 
Eane Transec 
Jstems Tsend, 
fland United 
He Voice Prints 
totem Digital 




THE BUGBUSTERS 


20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900 


Copyright © 1986 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. The other fine companies mentioned throughout this advertisement own numerous trademarks. 


Adv. by TRBA. 


CIRCLE NO. 203 ON READER SERVICE CARD 





DIRECTIONS 


WILL FASTIE 


Far Afield with Windows 

In which our intrepid editor allows software 
developers to vent their spleen. 



I t should come as no surprise that PC 
Tech Journal is deeply interested in 
Microsoft Windows. I should qualify this 
comment: not everyone on the staff is 
as interested as I, and there is consider¬ 
able debate on the subject internally. I 
suppose no debate would be warranted 
were the subject uninteresting or, 
worse, were no other alternatives, such 
as GEM or DesqView, possible. In fact, 
the emergence of the 80386 and the 
probable availability of a protected- 
mode operating system for the 80286 
has motivated a rash of companies to 
work on operating environments, some 
of which could prove interesting. 

One reason for following Windows 
is its creator. As far as operating systems 
and environments go, Microsoft today is 
the single company of greatest in¬ 
fluence. It has the resources to pursue a 
product until it takes hold in the market 
and the opportunity to influence the 
underlying operating system’s design to 
the benefit of the user environment. 

The company suffers only from technol¬ 
ogy lagging behind its vision. 

Having previously spoken kindly of 
the product, I may seem two-faced 
when I say that Windows does not cut 
the mustard. Although I do believe in 
the potential of the concept, the current 
implementation of Windows is unattrac¬ 
tive for a variety of reasons, some of 
which Microsoft can quickly fix and 
some of which require technology to 
come to the rescue. 

A fixable example is the user inter¬ 
face, which is pretty good for the nov¬ 
ice but less than compelling for the ex¬ 
pert. It is especially cumbersome for 
software developers, who for many pro¬ 
cedures resort to the more complete 
DOS command line interface. Microsoft 
needs to get as many experts and devel¬ 
opers as possible interested in the 
product if it expects a substantial base 
of software to be written. Improvements 
to usability, extensions to attract expert 
users, and a superior software develop¬ 


ment methodology should be a high 
priority at Microsoft; I am somewhat 
concerned that the company is not as 
aware as it should be of the current 
state of human factors research. 

Another area of difficulty is per¬ 
formance. Windows needs lots of pro¬ 
cessor and memory. Even with a better, 
faster processor, like the 80286 or 
80386, Windows gets bogged down try¬ 
ing to keep multiple applications avail¬ 
able in the DOS 3.x-constrained 640KB 
of main memory. Here, Windows must 
be rescued by technology, possibly 
Microsoft’s own. The product needs 
hardware-supported memory manage¬ 
ment and better support for multitask¬ 
ing; in short, it needs a new operating 
system that embodies the concepts 
present in most minicomputer environ¬ 
ments. It will also benefit from the new 
generation of microprocessor-based 
graphics cards soon to hit the market. 

Even if Windows is improved in 
these areas, it still must deliver a critical 
mass of applications to the user com¬ 
munity. This may be Windows’ greatest 
failing: few programs have been written 
to exploit the environment, and those 
that have are not completely compel¬ 
ling. One other performance problem 
with Windows may be to blame: it han¬ 
dles text very slowly, especially with 
nonsystem fonts. 


What really worries me is that I do 
not see a rush of developers working 
on Windows applications. Why? 

WINDOWS PAINS 

For the last several months, I have con¬ 
ducted an informal and unscientific sur¬ 
vey (in other words, I talked to them 
whenever I could) among developers of 
products designed to operate in the 
Windows environment. I have been es¬ 
pecially interested in those developers 
who either already had products for the 
Apple Macintosh or were developing 
for both the Mac and Windows. The 
purpose of the conversations was to de¬ 
termine the degree of difficulty of soft¬ 
ware development in both environ¬ 
ments as a way of better understanding 
Windows in particular. A second pur¬ 
pose was to determine developer satis¬ 
faction with each environment. 

Generally speaking, most develop¬ 
ers agree that software development in 
either environment is more difficult 
than writing a program for execution 
under DOS, or even a more sophisti¬ 
cated system such as VMS, UNIX, or 
AOS/VS. The worst part, they also agree, 
is the learning curve. That first applica¬ 
tion will take as much as twice as long 
to develop; subsequent programs bene¬ 
fit from the learning curve but still re¬ 
quire additional resources. 


FEBRUARY 1987 


9 


ILLUSTRATION • MACIEK ALBRECHT 





















DIRECTIONS 


Windows gets soundly rapped for 
that long learning curve. Most develop¬ 
ers blame the very poor state of the 
documentation. One vendor rates Apple 
documentation for the Mac 9.5 out of 
10, while awarding Windows a paltry 3. 
Detractors claim that Windows’ docu¬ 
ments are incomplete, full of errors, 
and badly organized. No complaints 
were registered about the Mac books. 

Developers converting from the 
Mac find that several important facilities, 
supplied as part of the Mac environ¬ 
ment, are not present in Windows. One 
example, easily observed by the end 
user, is Windows’ lack of a standard file 
selection dialog box methodology. This 
oversight is evident even in Microsoft’s 
own utilities, which use different file 
selection techniques from program to 
program; if the feature had been part of 
Windows, Microsoft’s developers would 
have used it. Other areas mentioned in¬ 
clude text editing (having the environ¬ 
ment do editing as part of text input), 
scrollable lists (such as those in the file 
selection boxes), and drag gray region 
(moving an object on the screen). 

One developer complains that with 
the Mac, the hardware is a known quan¬ 
tity while with Windows, it is unknown. 
Of course, hardware independence is 
supposed to be a strength of Windows; 
this developer clearly longed to exploit 
the hardware and is frustrated by the 
lack of direct control within Windows. 

It is also clear that the information Win¬ 
dows can provide to the application 
about the attached hardware is probably 
too limited for most developers’ tastes. 

Hardware independence provokes 
another complaint. Although Windows 
is touted as WYSIWYG (what you see is 
what you get), the developer has to 
work quite hard to make this happen. 
Mac developers claim to have it by de¬ 
fault; Windows developers say that what 
you see on the screen may not come 
out that way on the printer until the ap¬ 
plication is properly tuned, and finding 
the tuning knobs apparently is not easy. 
Again, this seems to be a case of captive 
hardware on the Mac versus the open 
hardware of the PC. 

Curiously, only one developer 
touted the advantage of hardware inde¬ 
pendence from a time and resource 
point of view. A strength of Windows 
should be that it prevents the software 
developer from having to develop 
drivers to cope with the hundreds of 
possible display and hard-copy options. 
However, most developers do not re¬ 
port any time savings to date. This may 
be due to the number of drivers cur¬ 


rently available and the fact that the de¬ 
sign specification for the driver inter¬ 
face has not stabilized. 

Finally, there is almost universal 
objection to the style and quality of 
Microsoft technical support, and equally 
universal praise for Apple. The major 
problem seems to be that Microsoft is 
slow to turn around the answers and, 
because it isolates the development 
staff, often loses information as the 
problem is first translated to the Micro¬ 
soft development team and back again 
to the questioner. According to Mac de¬ 
velopers, The Macintosh support pro¬ 
gram allows direct contact with Apple’s 
internal development staff and thereby 
generates quick, accurate information. 

I asked Microsoft to respond to 
some of these support criticisms. A 
spokesman pointed out the company’s 
primary sources of support. The first, 
the Microsoft Windows Development 
Seminar, is presented periodically 
around the country. The price varies 
from $430-650, depending on location, 
and includes a copy of the Windows 
Development Tool Kit. Microsoft also 
offers two 5-day courses at its headquar¬ 
ters in Redmond, Washington: an intro¬ 


ductory course for $450 and an ad¬ 
vanced course for $550. 

Another source is DIAL, an on-line 
support service. PC Tech Journal has 
not had an opportunity to evaluate the 
service since it was restructured; for¬ 
merly, we considered it far too expen¬ 
sive. DIAL is apparently under revision 
again, and we do not yet know its final 
form or cost. I am surprised that on¬ 
line, passive service is not free, to en¬ 
courage the development of the appli¬ 
cations Windows desperately needs. 

A common theme rings through all 
these objections. An environment such 
as Windows is desirable because of its 
philosophical foundations, such as hard¬ 
ware independence, its virtual graphics 
interface, and its user interface. Support 
for Windows is growing, albeit more 
slowly than Microsoft might like. From 
the complaints noted here, that growth 
is anything but painless. Immmmffil 

ERRATUM 

My December editorial (‘The RT Mys¬ 
tery”) contained two errors. At the top 
of the second column on page 12, the 
numbers 240 and 224 should have 
been 2 40 and 2 24 . We regret the error. 


UNDERSTANDING PERFORMANCE 


This month’s issue of PC Tech Journal 
has a lot to do with performance. Our 
cover story, an overview of the archi¬ 
tecture of the Intel 80386 processor 
(p. 50), leads into what will become 
ongoing coverage of the newest desk¬ 
top performance champ; we will fol¬ 
low next month with a comprehensive 
review of the Compaq Deskpro 386. 

At the same time, this issue includes 
the first of several articles examining 
accelerator products for PCs and ATs 

(p. 126). 

The market is flooded with such 
products, from faster clocks to add-in 
80386 boards, that improve the per¬ 
formance of the PC. These products 
are often attractive because the next 
performance increment, in the form 
of a complete system, can be very ex¬ 
pensive. Building a better machine in 
stages can mitigate these costs. 

The process of choosing from the 
long list of possibilities is much more 
difficult than adding memory or serial 
ports, and much more frightening. Ac¬ 
celerator products do not just extend 
the existing system, they fundamental¬ 
ly alter it. How the “new” system will 
work is something that the careful 


analyst must understand well in ad¬ 
vance. The tendency is to think purely 
in terms of raw CPU power, but other 
factors influence performance as well. 
Graphics performance, I/O (bus) 
bandwidth, disk speed, and floating¬ 
point operation can each profoundly 
affect the bottom-line performance of 
the application. Worse, combinations 
of these factors are the more usual 
case, making the task of optimizing a 
system configuration for a particular 
task very difficult if the machine is put 
to general-purpose work. 

PC Tech Journal is presenting the 
examination of accelerator products 
because we believe they offer viable 
opportunities for the millions of 8088- 
based computers. Our conclusions 
about the products are conservative; 
as is our custom, we are providing as 
much information as we can, but we 
rely on the common sense of our 
readership when it comes to making 
product decisions. We urge you to 
analyze your environment carefully 
and then choose and recommend the 
options that most closely address your 
and your client’s requirements. 

—WF 


10 


PC TECH JOURNAL 












H 


C Programmers! 

dbj/l5lA M : high-speed Database 
written exclusively for C 
NOW offers SQL-based Query 

‘db_VISTA™has proved to be an all-round high performer in terms of fast execution.. 

John Adelus, Hewlett-Packard Ltd./Office Productivity Division 


I igh-speed data retrieval and access... 
just two benefits of using RAIMA’S network 
model DBMS, db__VISTA. Combine these 
benefits with those of C—speed, 
portability, efficiency, and you begin to 
understand db_VISTA’s real measure... 
performance. 

db_QUEmT: new simplicity 
retains performance! 

db__QUERY, our new C-linkable, SQL- 
based, ad-hoc query and report writing 
facility.. .provides a simple, relational view 
of db_VISTA’s complex network database. 
No longer will you give up performance for 
simplicity ... combine db__QUERY with 
db_VISTA ... you have both! 

Independent Benchmark proves 
High-Speed model 2.76 times faster 

An independent developer bench- 
marked db_VISTA against a leading 
competitor. Eleven key retrieval tests were 
executed with sequentially and randomly 
created key files. 

♦Result of 11 Key Retrieval Tests 

db__VISTA :671.24 seconds 

Leading Competitor : 1,856.43 seconds 

db__V ISTA’s high-speed network database 
model lets you precisely define relation¬ 
ships to minimize redundant data. Only 
those functions necessary for operation are 
incorporated into the run-time program. 

Application Portability 
Complete Source Code 

For maximum application portability, 
every line of db_VISTA’s code is written in 
C and complete source code is available. 
db__VISTA operates on most popular 
computers and operating systems. So 
whether you write applications for micros, 
minis, or mainframes.. .db_VISTA is for 
you. 

How db__ VISTA works... 

Design your database and compile your 
schema file with the database definition 
language processor. Develop application 
programs, making calls to db_VISTA’s C 
functions. Edit and review your database 
using the Interactive Database Access 
utility. Compile and link your C program 
with the db__VISTA run-time library, and 
your application is ready to run. 

Multi-user and LAN capability 

Information often needs to be shared. 
db__VISTA has multi-user capability and 
supports simultaneous users in either 
multi-tasking or local area networking 
environments, allowing the same C appli¬ 
cations to run under UNIX, MS-DOS, and 
VAX VMS. 


rn Raima 

1 C OR PORATION 


High-Speed Programming Tbols, 
Designed for Portability 


Royalty-Free Run-Time 

Whether you’re developing applications 
for a few customers, or for thousands, the 
price of db_VISTA cr db__QUERY is the 
same. If you are currently paying royalties 
for a competitor’s database, consider 

switching to db_VISTA and say goodbye to 

royalties. 

FREE Technical Support 
For 60 days 

Raima’s software includes free telephone 
support and software updates for 60 days. 
Technical support personnel are available 
to answer questions about our software or 
yours. 

30-Day Money-Back Guarantee 

Tty d b_VISTA for 30 days and if not fully 
satisfied, return it for a full refund. 

Price Schedule 



db_VISTA 

db_ 

.QUERY 

□ Single-user 

$ 195 

$ 

195 

□ Single-user w/Source 

$ 495 

$ 

495 

□ Multi-user 

$ 495 

$ 

495 

□ Multi-user w/Source 

$ 990 

$ 

990 

NEW: 




□ VAX Multi-user 

$ 990 

$ 

990 

□ VAX Multi-user w/Source 

$1980 

$1980 


Call Toll-Free Today! 
1 (800) db-RAIMA 

(that’s 1-800-327-2462) 
—OR Call 1-206-828-4636 


Read what others say... 

“If you are looking for a sophisticated C 
programmer’s database, db_VISTA is it. It 
lets you easily build complex databases 
with many interconnected record types. 
Raima’s customer support and documen¬ 
tation is excellent. Source code availability 
and a royalty-free run-time is a big plus.’’ 

Dave Schmitt, President 
Lattice, Inc. 

“My team has developed a sophisticated 
PC-based electronic mail application for 
resale to HP customers. db_VISTA has 
proved to be an all-round high performer 
in terms of fast execution, flexibility and 
portability, and has undoubtedly saved us 
much time and development effort!’ 
John Adelus, Hewlett-Packard Ltd. 
Office Productivity Division 

“On the whole, I have found db_VISTA 
easy to use, very fast with a key find, and 
powerful enough for any DBMS use I can 
imagine on a microcomputer!’ 

Michael Wilson, Computer Language 


db_VISTA Version 2.2 

Database Record and File Sizes 

♦ Maximum record length limited only 
by accessible RAM 

♦ Maximum records per file is 16,777,215 

♦ No limit on number of records or set 
types 

♦ Maximum file size limited only by 
available disk storage 

♦ Maximum of255 index and data files 

Keys and Sets 

♦ Key length maximum 246 bytes 

♦ No limit on maximum number of key 
fields per record—any or all fields 
may be keys with the option of 
making each key unique or duplicate 

♦ No limit on maximum number of 
fields per record, sets per database, or 
sort fields per set 

♦ No limit on maximum number of 
member record types per set 

Operating System 
& Compiler Support 

♦ Operating systems: MS-DOS, PC- 
DOS, UNIX, XENIX, SCO XENIX, 
UNOS, ULTRIX, VMS 

♦ C compilers: Lattice, Microsoft, IBM, 
DeSmet, Aztec, Computer Innova¬ 
tions, XENIX and UNIX 

Features 

♦ Multi-user support allows flexibility 
to run on local area networks 

♦ File structure is based on the B-tree 
indexing method and the network 
database model 

♦ Run-time size, variable—will run in 
as little as 64K, recommended RAM 
size is 256K 

♦ Transaction processing assures 
multi-user database consistency 

♦ File locking support provides read 
and write locks on shared databases 

♦ SQL-based db_QUERY is linkable 

♦ File transfer utilities included for 
ASCII, dBASE optional 

♦ Royalty-free run-time distribution. 

♦ Source code available. 

Utilities 

♦ Database definition language processor 

♦ Interactive database access utility 

♦ Database consistency check utility 

♦ Database initialization utility 

♦ Multi-user file locks clear utility 

♦ Key file build utility 

♦ Data field alignment check utility 

♦ Database dictionary print utility 

♦ Key file dump utility 

♦ ASCII file import and export utility 


•The benchmark procedure was adapted from 
"Benchmarking Database Systems: A Systematic 
Approach” by Bitton, DeWitt and Turbyfill, 
December 1983. 


Call Toll-Free Today! 

1 (800) db-RAIMA 

(that’s 1-800-327-2462) 

3055-112th Avenue N.E. • Bellevue, WA 98004 USA • (200) 828-4636 Telex: 6503018237 MCI UW 

CIRCLE NO. 166 ON READER SERVICE CARD 


2PCT87 









PANASONIC FX-800 

80286 8MHz • 1.2 MB Floppy 
30 MB Hard Disk • 512K RAM 
Monitor and 
Graphics Card 


$2199 




PANASONIC FX-600 

8086 7.14 MHz • One 360K Floppy 
20 MB Hard Disk • 640K 
Monitor and 
Graphics Card 


$1375 


TOSHIBA 
TIIOO plus 

2 720KB Drives 
8 hr. Battery • 640K 


CALL 


Software 


Computer Innovations 

C-86 

279 



Introducing C 

99 

Aldebaran Labs 


C to dBase 

129 

Source Print 

109 

Cl Probe 

189 

Alpha Computer 


Cl ROMPac 

139 

ACS Time Series 

399 

CompuView 


For-Winds 

75 

Vedit 

112 

Forlib-Plus 

52 

Vedit Plus 

174 

Scientific Subroutine Pkg. 

254 

Creative Programming 


Strings & Things 

52 

Vitamin C 

134 

Arlty 


VC Screen Forms Designer 

83 

Expert System Dev. Pkg. 

269 

Custom Sftw Systems 


File Interchange Toolkit 

45 

PC/VI 

125 

Prolog Compiler/Interpreter 

729 

DataLight 


Prolog Interpreter 

319 

C Compiler 

47 

Screen Design Toolkit 

45 

Developer Kit 

77 

SQL Development Package 

269 

Data Base Decisions 


Standard Prolog 

78 

Periscope 1 

244 

Combo Package 

1099 

Periscope II w/NIM Breakout 

108 

Blaise 


Periscope ll-X 

81 

Asynch Manager-C 

131 

Data Management Cons. 


Asynch Manager-Pascal 

131 

ZView 

195 

C Tools 

98 

David Smith 


C Tools 2 

78 

Codesifter 

95 

C Tools Plus 

134 

DeskTop Al 


EXEC Program Chainer 

74 

dBx dBase-C Translator 

319 

Pascal Tools 

98 

dBx dBase/C Translator (XENIX) CALL 

Pascal Tools 2 

78 

DeSmet 


Pascal Tools & Tools 2 

134 

DeSmet C w/debugger 

139 

Runoff Text Formatter 

44 

DeSmet C w/debugger & Lg Case 

189 

Turbo Asynch Plus 

81 

Digitalk 


Turbo Power Tools Plus 

81 

Methods 

67 

View Manager-C 

195 

Smalltalk/Comm 

43 

View Manager-Pascal 

195 

Smalltalk/V 

85 

Borland 


DWB 


Reflex 

97 

The PROFILER 

91 

Reflex Workshop 

47 

EcoSoft 


Reflex & Reflex Workshop 

149 

Eco-C 

84 

Turbo Database Toolbox 

47 

Essential Software 


Turbo Editor Toolbox 

47 

C Essentials 

82 

Turbo Gameworks Toolbox 

47 

C Utility Library 

135 

Turbo Graphix Toolbox 

47 

Essential Graphics 

189 

Word Wizard 

47 

Fifth Generation 


Turbo Lightning 

65 

FastBack 

139 

Turbo Pascal w/8087 & BCD 

65 

Gimpel 


Turbo Prolog 

64 

PC Lint 

104 

Turbo Tutor for Pascal 

27 

Green leaf 


Word Wizard & Turbo Lightning 

98 

Greenleaf Functions 

132 

C Source 


Greenleaf Comm Library 

132 

Basic C Library 

127 

Greenleaf Data Windows 

184 

Catspaw 


GSS 


SNOBOL4 + 

81 

Graphics Development Toolkit 

369 

Command Technology 


Kernel System (DOS) 

369 

SPF/PC 

162 

Kernel System (IBM RT) 

639 


Metafile Interpreter 

229 

Logimouse w/PLUS & CAD 

159 

Plotting System 

374 

Modula-2/86 Compiler. 

63 

Solutions Chart 

235 

Modula 2/86 w/8087 

99 

Solutions Plottalk 

235 

Modula2/86 PLUS 

144 

Solutions Terminal 

235 

Modula 2 Library Sources 

84 

Impulse Engineering 


Modula 2 Make Utility 

26 

Fortran Addenda 

86 

Modula 2 ROM Package 

177 

Fortran Addendum 

144 

Modula 2 RunTime Debugger 

57 

IMSI 


Turbo-Modula Translator 

43 

TurboHalo 

81 

Modula 2 Utilities Pack. 

43 

Laboratory Micro 


Modula 2 Windows Pack. 

43 

PC/Forth 

114 

Lugaru 


PC/Forth Plus 

204 

Epsilon 

157 

Adv. Color Graphics Support 

75 

Mansfield Software 


Enhanced Graphics Support 

154 

KEDIT 

104 

8087 Support 

75 

Personal REXX 

104 

Interactive Symbolic Debugger 

75 

Mark Williams 


Native Code Optimizer 

154 

Mark Williams MWC-86 

287 

PCTERM 

75 

Let’s C 

57 

Software Floating Point 

Lattice 

75 

Let’s C w/csd Source Debugger 
MDS 

105 

C Compiler 

289 

HELP/Control 

104 

C Compiler w/Library S.C. 

544 

Media Cybernetics 


C XREF Generator 

38 

Multi-Halo 

215 

C XREF Generator w/S.C. 

147 

MetaGraphics 


C-Food Smorgasbord 

97 

MetaWindows 

135 

C-Food Smorgasbord w/S.C. 

187 

MetaWindows Plus 

195 

C-Sprite 

135 

TurboWindows 

65 

Curses Screen Mgr. 

93 

MGIobal 


Curses Screen Mgr. w/S.C. 

181 

CCS MUMPS Single User 

52 

dBC 

186 

CCS MUMPS Multi-User 

369 

dBC w/Source Code 

369 

MicroFocus 


LMK Make Facility 

144 

Cobol Workbench 

3399 

RPGII Combo 

899 

Level II Cobol 

CALL 

RPGII Compiler-No Royalty 

631 

COGraphics 

215 

Secret Disk 

92 

COMath 

165 

SideTalk 

92 

Forms-2 

265 

Text Management Utilities 

92 

Level II Animator 

CALL 

TopView Tool basket 

186 

Level II Sourcewriter 

CALL 

TopView Toolbasket w/S.C. 

375 

Level II Cobol for Novell 

1759 

Z-80 C Cross Compiler 

375 

Micro/SPF 

155 

Z-80 C X-Compiler w/S.C. 

744 

Professional Cobol 

2355 

The Librarian 


Pro. Cobol Multi-user RunTime 

439 

GrafLib 

CALL 

MicroHelp 


PlotHi 

CALL 

Peeks n Pokes 

38 

PlotHP 

CALL 

Inside Track 

52 

LifeBoat 


MACH 2 

62 

Run/C 

87 

Stay-Res 

79 

Run/C Professional 

167 

Microsoft 


LMI 


QuickBasic2.0 

65 

CFORTH 

235 

Basic Interpreter (XENIX) 

215 

Logitech 7 


C Compiler 

282 

Logimouse C7 

84 

Cobol Compiler 

435 

Logimouse C7 w/PLUS 

99 

Cobol Compiler (XENIX) 

619 

Logimouse C7 w/PLUS & Paint 

139 

Cobol Tools 

199 



























FREE 

BLUE LABEL SHIPPING* 




<5Vv^ 

Ik. 



MICROSOFT, 


TOSHIBA 3100 


80286 • Gas Plasma Screen 
10MB H.D. • 640K 
720KB Drive 


CALL 


MACH 10.. 

Performance Enhancement Board 
with Windows 
and Mouse- 


$375 


Cobol Tools (XENIX) 

Fortran Compiler 
Fortran Compiler (XENIX) 
LISP 

Macro Assembler 
Bus Mouse 
Serial Mouse 
Sort 

muMath & muSimp 
Pascal Compiler 
Pascal Compiler (XENIX) 
Tech. Ref. Encylopedia 
Windows 

Windows Development Kit 
Morgan Computing 
Advance Trace 86 
OES Systems 
The Hammer 
Opt-Tech Data 
On-Line Help 
Peerless 

Scientific Subroutine Library 
50 MORE: Fortran 
Phar Lap 
386 Debug 

Phoenix 

Pasm86 Macro Assembler 
Pdisk Hard Disk Utility 
Pfantasy Pac 
Pfinish Performance Anal. 
Pfix-86 Program Debugger 
Pfix-86 + Symbolic Debug 
PforCe C Library 
Plink-86 Overaly Linker 
P!ink-86+ Enhanced Linker 
Pmaker Make Utility 
Pmate Macro Text Editor 
Pre-C Lint Utility 
Ptel Binary File Transfer 
Polytron 
PolyBoost 
C Beautifier 
C Library I 
Power Comm. 

PolyLibrarian 
PolyLibrarian II 
PolyMake 

PolyXREF-Complete 
PolyXREF-One Language 
PolyOverlay 

PVCS Version Control Sys. 
PVMFM Virtual Mem Mgr. 

R & R Software 

Janus/ADA C Pack 
Janus/ADA D Pack 


Raima 

dbQuery 

dbVista single-user 

dbVista single-user w/S.C. 

dbVista multi-user 

dbVista multi-user w/S.C. 

dbVista 1-user w/S.C. (XENIX) 

dbVista multi-user (XENIX) 

dbVista multi-user w/SC (XENIX) 

RDS 

C-ISAM 

Informix (DOS) 

lnformix4GL(DOS) 

InformixSQL(DOS) 

Informix (XENIX) 
lnformix4GL (XENIX) 
InformixSQL (XENIX) 

Relia 

Cobol 

Roundhill Computer 

Panel 

Ryan-McFarland 
RM/Cobol (XENIX) 

RM/Fortran (XENIX) 

RM/Cobol 

RM/Cobol 8X ANSI 85 
RM/Fortran 

Santa Cruz Operation 

Complete XENIX System 
XENIX Development System 
XENIX Operating System 
XENIX Test Processing Package 
Lyrix 

Networks for XENIX 
SCO Professional 
Scientific Endeavors 
GraphC Mono 
GraphC Color 
VTEK 

Shaw American Tech. 

APT 

Soft Advances 
DSD86 
DSD87 
Softcraft 

Btrieve ISAM Manager 
Xtrieve Query Utility 
Rtrieve Report Generator 
Btrieve/N Networks 
Xtrieve/N Networks 
Rtrieve/N Networks 
Software Bottling 
Flash-Up Windows 
Screen Sculptor 


124 

172 

115 

135 
96 

135 

129 
129 
859 
235 
138 
235 
235 
244 
319 
79 
119 
159 
115 

65 
43 

73 
134 

74 
110 
74 

175 
105 
74 
319 
144 

85 
779 

CIRCLE NO. 147 ON READER SERVICE CARD 


CALL 

155 

424 

424 

839 

419 

419 

839 

196 

669 

829 

669 

829 

1259 

829 

829 

225 

975 

589 

615 

875 

379 

1049 

519 

519 

149 

479 

519 

685 

215 

289 

125 

335 

62 

85 

189 

162 

119 

459 

289 

149 

65 

92 


Software Channels 

ALICE 67 

Software Garden 

Dan Brinklin’s Demo Program 58 

Solution Systems 

Brief CALL 

Sfpruce Technology 

FirsTime for Turbo 58 

StonyBrook 

The WATCHER Profiler 52 

STSC 

APL PLUS/PC 439 

APL PLUS/PC Spreadsheet 149 

APL PLUS/PC Tools Vol. 1 229 

APL PLUS/PC Tools Vol. 2 59 

APL PLUS/UNX (XENIX) 695 

Financial/Stat. Library 194 

Pocker APL 75 

StatGraphics 589 

Summit Software 

BetterBasic 139 

BetterBasic 8087 Support 74 

BetterBasic Btrieve Interface 74 

BetterBasic C Interface CALL 

BetterBasic RunTime Module 219 

Sunny Hill 

TurboProfessional 45 

TaskView 57 

Toshiba 

3.5” Drive Kit 139 

True Basic 

True Basic w/Converter 105 

True Basic w/Converter/RunTime 189 
Advanced String Library 42 

Asynch Communication Support 42 
BasicA Converter 42 

Btrieve Interface 42 

Developer’s Toolkit 42 

Formlib 42 

Hercules Graphics Support 42 

Sorting & Searching 42 

RunTime Module 99 

TurboPower Software 
T-Debug 52 

Turbo EXTENDER 65 

TurboPower Utilities 79 

Visual Age 

Codesmith-86 105 

Wend in 

Operating System Toolbox 77 

PCNX Operating System 77 

PCVMS 77 

XTC Text Editor with Source 77 

Wizard Systems 

C Compiler 354 


Orders only: 


In California: 

Customer service: 

(415) 322-0686 

Send mail orders to: 
Code Blue 
508 Waverly Avenue 
Palo Alto, CA 94301 

Terms & Policies 

1. 20-day money back guarantee 
on most products. Merchan¬ 
dise must be returned in 
resalable condition. Call 

for details. 

2. Shipping info: On orders 
over $100, we ship free UPS 
2nd day air. On orders under 
$100, shipping is $5. Ship¬ 
ping on computers is extra. 

3. Prices subject to change 
without notice. 

4. Delivery subject to product 
availability. 

5. P.O.’s accepted from qualified 
institutions. 

6. After 20 days, products can 
only be returned for repair or 
replacement. On products 
not covered by the money 
back guarantee, they can 
only be returned for repair 
or replacement. 

7. VISA and MasterCard 
accepted. COD available at 
an additional cost. 


*On all orders over $100 
to destinations east of the 
Rocky Mountains. 




















NOW INTRODUCING VIRTUAL MEMORY SUPPORT 

BetterBASIC with the optional Virtual Memory Manager can now 
address 400,000,000,000 bytes of memory! 

BetterBASIC Application Development System $199.00 

The BetterBASIC Application Development System provides very close compatibility with PC-BASICA 
and GW-BAS1C, yet provides numerous new and sophisticated language features such as: program 
Block Structures, recursive Procedures and Functions with local variables, structures, Records and 
Pointers and last but not least support of large memory. 


Btrieve™ Interface 


i Virtual Memory Manager $99.00 

The Virtual Memory Manager expands Better- 
BASIC’s data space into the giga-byte range and 
finally breaks the 640k byte barrier for array sizes. Not only 
can you directly address all expanded memory supported 
by L1M/EMS memory boards, you can also address any 
RAM Disk, Hard Disk or even a Floppy Disk as if they were 
ordinary RAM. 


$99.00 


This is a high level BetterBASIC interface to the 
ever popular Btrieve™ file manager from Soft- 
Craft. Instead of Assembly language calls this module 
provides high level BetterBASIC program access to all 
Btrieve™ functions. Use it to design your own database 
application in BetterBASIC. 



Virtual Memory Manager- 
Network Version 


$250.00 


This version of the Virtual Memory Manager allows 
Virtual Memory to be distributed throughout a Local Area 
Network. It also provides File, Records and Field Locking 
to control access to shared data. 


8087/80287 Math Module $99.00 

This module allows you to use the 8087 or 80287 
co-processor to significantly accelerate programs 
which are floating point calculation intensive. 



Decimal Math Module 


$99.00 



C-Link $99.00 

1 ^^—| This software package allows BetterBASIC to 
HBI access C-language library functions from within 
BetterBASIC. Currently supported are Lattice and 
Microsoft C. 


i If you are a business programmer, you are 
probably frustrated by the many roundoff 
problems caused by ordinary IEEE format floating point 
numerical operations. The BetterBASIC Decimal Math 
Module which offers variable precision from 6 to 24 digits, 
drastically reduces roundoff problems in business 
applications. 



1 Screen Design System $199.00 

This package truly takes the drudgery out of 
creating display screens and data entry screens. 
An interactive Screen Editor lets you “paint” your display 
screens exactly as you want them to appear in your pro¬ 
gram. The completed screens take the form of disk resident 
images. A run time library module provides many new 
BetterBASIC procedures and functions for interacting with 
the display screens to simplify the use of pop-up menus 
and data entry screens. 



BetterTools™ $99.00 

| This is a collection of more than 150 useful 
extensions to BetterBASIC such as time and date 
computations, encryption and decryption, low level file 
directory access, hyperbolic function and much more. No 
BetterBASIC programmer should be without BetterTools™. 


CIRCLE NO. 195 ON READER SERVICE CARD 







BYTE, range: 0 to+255 
INTEGER, range: - 32768 to + J 
REAL, range: Single Precision 8.43ri(^ fefc&Sfoj 
Double precision 419xW** to Li 
Binary Math, Single/Double/Mixed Precision 
Mixed mode numeric expressions will always be REAL,. 
String data: 

Variable from 0 to 32767 characters in size. 

Record Variables: 

Allows grouping of dissimilar data types into a single logi¬ 
cal variable. Elements of a RECORD are addressed 
as FIELDS and can be of any type, including ARRAY, 
RECORD and POINTER. 

Array Variables: 

N-dimensional arrays of any type, including ARRAY, 
RECORD and POINTER. Dynamic arrays like PC-BASICA 
Pointer Variables: 

Allows indirect reference to any data type. Can be used 
with RECORD variable to create linked lists, or to create 
relational data structures. 

In addition supports PC-BASICA record types. 

BetterBASIC BENCHMARK COMPARISON 

in milliseconds 

Better BASIC IBM 

INTERPRETIVE COMPILED 





* 

a* 
c n 

* 

a* 

Q 

8087 DP 

Qu 

Qu 

Q 

Qu 

C/D 

Qu 

Q 

REAL FOR/NEXT 

1.3 

1.4 

0.55 

0.93 

0.93 

0.7 

0.7 

ASSIGNMENT 

1.0 

1.0 

0.93 

1.5 

1.5 

0.1 

0.1 

ADD 

0.77 

1.1 

0.44 

1.6 

2.3 

0.4 

0.4 

Multiply 

0.88 

1.8 

0.49 

1.9 

3.0 

0.5 

0.8 

Division 

1.0 

3.0 

0.49 

2.8 

19.7 

0.6 

1.1 

logarithm 

5.7 

15.6 

0.55 

7.5 

64.0 

4.0 

11.9 

Exponential 

7.4 

27.0 

0.66 

6.5 

43.0 

3.6 

10.8 

SINe 

4.7 

17.0 

0.82 

17.6 

35.0 

3.2 

12.4 

COSINE 

4.5 

17.0 

0.77 

25.0 

41.0 

3.5 

12.7 

TANgent 

7.2 

18.0 

0.66 

44.0 

94.0 

6.9 

26.0 

X A Y 

13.8 

44.5 

1.1 

15.2 

115.0 

7.7 

24.0 

SQR (SQUARE ROOT) 

1.4 

6.5 

0.33 

7.2 

95.0 

1.1 

3.5 


jmm 


t/MTE ARRAY 
PTR 

BYTE ARRAY 
; STRUC 

BYTE PTR 

CHANCE 

CHARS 

CHECK 

CLD 

CLW 

CODE - 

COLOR 

BORDER 

COMMANDS 

COMPRESS 

CONSTANT 

DEFINE 

WINDOW 

DELS 

DIRS 

DISABLE 

DO 

DO IF 

DO UNTIL 

DO X TIMES 

DRIVES 

DYNAMIC 

END DO 

END FUNCTION 




HEADER 
MW FROM 
INS$ 

INTEGER 
INTEGER ARG 

INTEGER 

ARRAY 

INTEGER 
ARRAY ARG 

INTEGER 
ARRAY PTR 

INTEGER 
ARRAY STRUC 

INTEGER 
FUNCTION 
INTEGER PTR 
INTERRUPT 

INTERRUPT 

CLEAR 

INTERRUPT 

ON/OFF 

INTERRUPT 

PROC 

INTERRUPT 

RESTORE 

INTERRUPT 

SAVE 

INTR 

KEY= 

KEYWORD ARG 
KEYWORD SET 
LIST ALL 
MAIN 

MAKE MODULE 


Slli 


'TO 
USING 


SlliWP 1 


■■■ 


PROCEDURE 

PROCS* 

PUBLIC 

READ RECORD 
READCHR 

READCHR 

FROM 

READLINE 

READLINE 

FROM 

READ RECORD 
REAL 
REAL ARG 
REAL ARRAY 

REAL ARRAY 
ARG 

REAL ARRAY 
STRUC 

REAL 

FUNCTION 

REAL PTR 
RENAME 
REPEAT 
RESTART 
RESTORE PAR 

RESTORE 

SCREEN 

RESULT= 

RETRY 

ROT 

SAVE MODULE 


Microsoft Statements Not Supported 

DEFUSR MOTOR PEN 

MERGE ON PEN STICK 

ONSTRIG 


\ V \ « 

mm * V- •• 

STATUS* 
STATUSLINE 
STRING 
STRING ARG 
STRING ARRAY 

STRING ARRAY 
ARG 

STRING ARRAY 
PTR 

STRING ARRAY 
STRUC 

STRING 
FUNCTION 
STRING PTR 
STRUCTURE 
SYSCALL 
SYSCODE 
SYSFLAGS 
TYPE 
UPPERS 
WHILE... DO 
WINDOW 
WOR 

WRITE RECORD 
WRITE TO 
XMEM 
XMEM= 

XREF 


STRIG 

USR 


Call our Toll Free Order Line 

1 - 800 - 225-5800 



*SP “Single Precision 
DP - Double Precision 


Summit Software Technology, Inc.™ 
106 Access Road 
Norwood, MA 02062 
(617) 769-7966 


BetterBASIC is also available from TANDY /RADIO SHACK Computer Centers. Ask your dealer for 
Express Order Software #90-0315 for BetterBASIC, and #90-0303 for Runtime System. 

BetterBASIC is a registered trademark of Summit Software Technology, Inc IBM PC, XT, AT, are registered trademarks of International Business Machines Corp. Ihndy is a registered 
trademark of Thndy Corp. Lotus™ and 1-2-3™ are registered trademarks of the Lotus Development Corp. Intel © Intel Corp. HALO © Media Cybernetics, Inc. CSS © Graphic Software 
Systems, Inc. Lattice C is a registered trademark of Lattice, Inc Btrieve is a . registered trademark of SoftCraft Inc. 













brief! 

THE PROGRAMMER’S EDITORj 

dBRIEE 



THE dBASE PROFESSIONAL’S ASSISTANT 

"dBRIEF Turns BRIEF into the Smartest 
Editor dBASE Has Ever Known”. 

DAVID IRWIN 


CUSTOMIZES 
BRIEF FOR 
dBASE III 


Since its introduction, BRIEF has been 
sweeping programmers off their feet. Why? 
Because BRIEF has every feature they need. 
Now, with the introduction of dBRIEF, you 
can take advantage of BRIEF customized to 
become a complete integrated environment 
for development with dBASE III and III 
Plus, CLIPPER or dB/III Compiler 


MORE EFFICIENT 
DEVELOPMENT 
Increase Your Productivity 


Developing an application in dBASE can be 
quite a tedious process considering all that 
dBASE can’t do. To compensate, some 
programmers use several utility programs 
that have to run separately, and then integrate 
the results into one application. This slows 
you down — you spend more time watching 
your computer than you do programming. 


IF gives you a central core — a single 
area with common commands and op- 
rial consistency. ^__ 

D ADVISOR, and DR __ bR1EF 1S | 

le to the same concl ized for 

. And now '^steen- 

^programn^£5__-- 


System Requirements 

dBRIEF requires BRIEF, version 1.32 or later, and IBM or 
IBM compatible hardware with hard disk media. At least 384k 
RAM, 512k RAM is recommended if you want to operate dBASE 
within dBRIEF, and 640k RAM is preferred. Floppy systems 
are not recommended . 


A SINGLE PRODUCTIVE 
ENVIRONMENT 

Save time and reduce mundane work using 

dBRIEF. Without ever leaving the dBRIEF 

core you can: 

• Generate dBASE code for interactive data 
entry by drawing the screen with BRIEF. 

• Use the special “speed coding” libraries 
to write your programs with the absolute 
minimum number of keystrokes. 

• Optimize your dBASE code. 

• Compile a program (using Clipper or the 
dB/III Compiler) with 1 keystroke. 

• Indent code automatically. 

• View several files simultaneously. 

• Automate line and column input for SAY 
and GET. 

• Run DOS programs like dFORMAT and 
dCONVERT. 

• Easily enter graphics characters. 

• Select colors or video attributes for your 
screen. 

• Customize dBRIEF to your needs. 

• Modify the dBRIEF source code. 



View your file structure 
while you program. 


PROGRAM EDITING 
YOUR WAY 

A typical program editor requires you to 
adjust your style of programming to its 
particular requirements — NOT SO WITH 
BRIEF. You can easily customize BRIEF 
to your way of doing things, making it work 
naturally, intuitively. BRIEF can be used 
for any programming language. Even with¬ 
out dBRIEF it provides: 

Full UNDO (N Times) 

Multiple files, Unlimited size 

Language sensitive user controllable features 

Exit to DOS inside BRIEF 

Uses all available memory 

Keystroke Macros 

Reconfigure keyboard 

Windows 

Regular expression search 
Horizontal scrolling 
Comprehensive Error Recovery 
Programmable Macro Language 
EGA and Large Display Support 
Compile within BRIEF 
Adjustable line length - up to 512 


“[dBRIEF] acts as the central command 
post for writing and editing dBASE 
programs with BRIEF , but it does much , 
much more to increase your 
productivity 

— PC Magazine , July 1986 


MONEY-BACK GUARANTEE 

Try BRIEF and dBRIEF ($275) for 30 days - 
if not satisfied get a full refund. 

If you already own BRIEF, buy dBRIEF for only $95. 


call (800-821-2492) 



Jpolution 
<-E) ystems 



SOLUTION SYSTEMS, 335-y WASHINGTON ST., NORWELL, MA 02061. 617-659-1571 

CIRCLE NO. 130 ON READER SERVICE CARD 












MOVING AMONG 286$ 

I enjoyed Steven Armbrust and Ted For- 
geron’s review of the Compaq Deskpro 
286 (“Out from the Shadow of IBM: 
Compaq Deskpro 286,” August 1986, 
p. 80). Considering the short time they 
had to work with it, their assessment 
was reasonably complete. However, a 
few other items should be mentioned. 

For the past seven months, I have 
been using a Compaq Deskpro 286 at 
home and an IBM PC/AT at work to do 
Pascal program development. A short 
time ago, we purchased a Compaq Por¬ 
table II at work, and, in many respects, 

I like it the best of the three. 

In January, I purchased a Deskpro 
286 Model 1 with the intention of 
adding my own hard disk. Overall, I 
found the dealer (Computerland) was 
not knowledgeable enough to answer 
even the simplest technical questions. 
However, after about two months, the 
store did manage to supply the techni¬ 
cal reference manual that was ordered 
at the time of the original purchase. On 
the other hand, the Compaq customer 
service people were very helpful when 
I was trying to find the jumper settings 
for a memory upgrade to 2.1MB. Inci¬ 
dentally, the memory board must use 
all 64K- or 256K-bit chips. 

Something that the authors com¬ 
pletely missed is that most Compaq disk 
types do not correspond to IBM disk 
types. I found this out the hard way. I 
installed an IBM type 8 in my Compaq 
and found that the heads were hitting 
the stops. The solution was to define it 
as a Compaq type 6 and give up the use 
of 1.5MB of disk space. So far, I have 
not been able to find out how to set up 
for a non-Compaq disk type. 

On the matter of keyboards, I like 
the Compaq keyboard better possibly 
because I pound the keys fairly hard 
and the IBM gives me the feeling that it 
will fall apart any minute. The spacing 
between the function keys and the main 
keys is smaller on the Compaq and this 


causes some problems when using 
function key overlays (such as the one 
used with WordPerfect). The Portable II 
function key location causes me some 
problems when I go back and forth be¬ 
tween computers. Going back and forth 
between the old and new AT keyboards 
is much worse than going between the 
two Compaq keyboards, however. 

I am using an STB EGA+ card in 
my home Deskpro. The Portable II at 
work was purchased to do held soft¬ 
ware maintenance on a product that 
uses an EGA-equipped AT. For this rea¬ 
son, it would be desirable to.have an 
EGA card in the II. However, I have not 
been able to use the internal monitor 
on the II with an EGA card installed. It 
appears that if I wanted to drive an EGA 
monitor at some held location, I would 
have to open the II up and take out the 
Compaq card and install the EGA card. 
On the IBM it is possible to have a 
monochrome and color card installed 
in the cage and switch back and forth. 
The problem with the Compaq II ap¬ 
pears to be that it uses a color card to 
drive the internal monochrome display. 
Therefore, installation of a second color 
card causes problems. 

I have been told that a bug in the 
AT keyboard BIOS will cause an occa¬ 
sional system hang or crash when the 
system reset is done on the return from 
extended memory access. Experiences 
that people at work have had with their 
HP Vectras make me suspect that in re¬ 
spect to the keyboard BIOS, HP has 
done an exceptionally faithful job of 
cloning the IBM BIOS. I wonder, did 
Compaq avoid this problem? 

On other matters in the article, the 
Torx screws are a pain when you do 
not have the drivers. I am not sure what 
I ll do when I need to replace lost Torx 
screws—probably replace them all with 
alien-headed screws. The interference 
on slot 1 caused by the brace is unfor¬ 
tunate because that is a 16-bit bus slot. 
The STB EGA+ is supposed to be 


mounted in slot 1 only, but it seems to 
work in slot 2. Backplate clearance 
around slot 1 is a bit tight and makes it 
impossible to plug in the monitor cable 
connector into a card mounted in slot 
1. The Compaq technical reference 
manual does not contain the BIOS list 
like the AT manual does, but overall I 
find it more useful for BIOS function 
applications than the IBM manual. In 
the final analysis, I am glad I chose the 
Compaq Deskpro 286. 

David I. Spooner 
Wilmington, DE 

Unfortunately, the Compaq Deskpro 
286 supports only 75 hard-disk drive 
types and does not have a type that cor¬ 
responds to IBM hard-disk type 8. IBM 
type 8 has 733 cylinders and 5 heads 
for a total of 31.9MB. As you men¬ 
tioned, the closest fit that the Deskpro 
286 has is type 6 with 697 cylinders 
and 5 heads for a total of 30.3MB. The 
good news is that the Deskpro 386 has 
32 additional drive types, for a total of 
47. Type 20 matches the characteristics 
of your add-in hard disk exactly. 

As for enhanced graphics in the 
Portable II, Compacj is one step ahead 
of your request. According to the com¬ 
pany, its new Enhanced Color Graphics 
Board (ECGB) will work equally well in 
the Portable II as it does in the Deskpro 
386. You can remove the Portable IPs 
old dual-mode display adupter, install 
the ECGB, and plug the internal display 
cable directly into the special (but un¬ 
documented) connector on the ECGB. 
This board will even drive the internal 
dual-mode display while in EGA modes, 
or you can connect an external en¬ 
hanced color display. 

—Steven Armbrust and Ted Forgeron 

PRO TURBO 

I was delighted to see PC Tech Journal 
provide a closer look at Prolog develop¬ 
ment tools in the November 1986 issue 
(“Prolog Arrives,” Michael Covington 


FEBRUARY 1987 


17 







































LETTERS 


and Andre Vellino, p. 52), but your re¬ 
viewers have misunderstood the real 
advantages that Turbo Prolog brings to 
AI development. Instead, they focused 
on the deviation from Clocksin and 
Mellish’s Programming in Prolog. Tur¬ 
bo Prolog is not a C&M Prolog, but 
then Turbo Pascal is not a Wirth Pascal; 
nor was it ever intended to be. The re¬ 
viewers have not looked closely enough 
at Turbo Prolog. Obviously, they ran 
their usual routines and disliked the 
fact that they had to modify them. 


There is a good reason why Prolog 
has not yielded commercial applications 
in the more than 10 years it has been 
around. Its first implementations were 
developed in universities for universi¬ 
ties, a situation in which ease of pro¬ 
gramming comes first and programs 
typically are not run more than once. In 
this environment, it often is enough to 
know that the program can work. 

The world of commercial applica¬ 
tion development is much more de¬ 
manding. In fact, the most important 


criteria is speed and compactness of 
executable programs: specifically as it 
pertains to development on microcom¬ 
puters. Your review points out the capa¬ 
bility of Turbo Prolog to generate pro¬ 
grams that run many times faster than 
any other Prolog; and the benchmarks 
in your article allude to this fact even 
though the authors make no mention of 
it in their review. These benchmarks 
show that Turbo Prolog runs from 2 to 
40 times faster than the other compilers 
compared. In many cases Turbo Prolog 
was too fast to measure accurately. 

Many people have considered as¬ 
serting rules at runtime to be a very im¬ 
portant capability. In Turbo Prolog, this 
can be done with the database. While 
the assertion of new rules yields one 
important advantage—making it easier 
to build a Prolog or rule interpreter in¬ 
side Prolog—the question arises as to 
why anyone would want to do that. The 
reason for building a customized Prolog 
interpreter in Prolog is grounded in the 
fact that the standard Prolog interpreter 
is not good enough to support many 
applications. The programmer wants to 
do unorthodox things, such as firing the 
rules from the right to the left, or con¬ 
necting a certainty factor to the rules, or 
have some explanation as to why a par¬ 
ticular solution is reached. In these 
cases, Turbo Prolog is clearly the su¬ 
perior language implementation. 

While existing Prolog interpreters 
are very flexible, they are still restricted 
to a single inference mechanism be¬ 
cause they are too slow and require too 
much memory to be included in a cus¬ 
tomized inference mechanism for an 
application. Turbo Prolog provides the 
speed and small code size that allows a 
programmer to write a rule interpreter 
or inference mechanism that will be 
truly useful in real applications, while 
requiring very little extra effort. 

Furthermore, anyone who has 
done any significant programming in 
Prolog knows that one of the big draw¬ 
backs of Prolog has been the difficulty 
of debugging programs. Turbo Prolog’s 
type system, when combined with its 
trace capabilities, solves that problem. 

In addition, it is widely accepted that 
the disadvantages in having to declare 
types are more than compensated for 
by the fact that it’s much easier to cor¬ 
rect a mistake identified by the compil¬ 
er than to locate it as a runtime error. 
This situation is especially true in Pro¬ 
log because, by construction, Prolog 
fails when the types do not match. Here 
again, this is important if one wants to 
write real programs in Prolog. 


THE ATRON BUGBUSTERS 
BRING HARDWARE BREAKPOINTS 
TO MICROSOFT'S CODEVIEW 


You already have Microsoft’s 
CodeView.™ And you’ve seen our 
ads for the Atron hardware-assisted 
software debuggers. Right? You 
know, the Atron Bugbustersl We 
make the debugging tools used by 
9 of the top 10 software developers 
in the PC market. Now, with our 
new MiniProbe™ shortcard, you 
can use your familiar watchpoints 
and tracepoints in real time. 
Without learning new debugging 
technology. 


device. This solves the most 
common debugging problem: Out- 
of-range pointers which overwrite 
the program code or data. Often, 
the overwrite is different after each 
new compile of the program. 

The MiniProbe can also set a 
hardware breakpoint over a range 
of memory locations, helping to 
trap uninitialized pointers. And 
MiniProbe has a crash-recovery 
switch box, which lets you regain 
control of a frozen system. 


Only $395 puts 
you into world- 
class debugging 



With real-time watchpoints and 
tracepoints, a one-minute program 
will run in one minute. Not 50 
hours (the difference between 
software-only debuggers and 
hardware-assisted debuggers is a 
3000-to-l increase in efficiency). 

And if the program bug you’re 
trying to find has anything to do 
with interrupt activity, it might 
never occur when you’re debugging 
with CodeView alone. 

But with the Atron MiniProbe, 
you can trap events like reading 
and writing to memory or an 10 

© 1986 by Atron. MiniProbe™ Atron. CodeView™ Microsoft. 


So now that you don't 
have to learn a new 
debugger, the only thing 
keeping you from 
debugging like the pros is 
$395. And our phone 
number: 408/741-5900. 

Call today. Bust bugs, and 
records, tomorrow. 

/4nV*!l \\ 

THE DEBUGGER COMPANY 

20665 Fourth Street o Saratoga, CA 95070 

Atron is a division of Northwest Instruments. TRBA 


CIRCLE NO. 249 ON READER SERVICE CARD 


18 


PC TECH JOURNAL 










WINDOWS FOR DATA™ 


The first choice 
of professional 
C programmers 


“Windows for Data is the best 
programming tool I’ve ever used. 

It’s the most flexible I’ve seen. 
Whenever I’ve wanted to do something, 
I’ve been able to find a way.” 

Steven Weiss, 

Stratford Systems 


Professionals choose our tools because 
they are designed, crafted, and supported 
for professionals. Here at Vermont Creative 
Software, we understand that performance 
and pleasure in programming derive 
from more than a long list of functions. 
Windows for Data provides: 

PROFESSIONAL FLEXIBILITY: 

Our customers repeatedly tell us how 
they’ve used WFD in ways we never imagin¬ 
ed - but which we anticipated by designing 
WFD for unprecedented adaptability. Vir¬ 
tually every capability and feature can be 
modified to meet special needs. You will be 
amazed at what you can do with WFD. 

PROFESSIONAL PERFORMANCE: 

Screen output is crisp and fast. Windows, 
menus, and data-entry forms snap up and 
down from the screen. WFD is built upon 
and includes Windows for C, the win¬ 
dowing system rated #1 in speed and 
overall quality in PC Tech Journal (William 
Hunt, July 1985). 

PROFESSIONAL RELIABILITY: 

An unreliable tool is worse than no tool at 
all. VCS products are known in the industry 
for their exceptional reliability. Ask anyone 
who owns one. 

PROFESSIONAL DOCUMENTA¬ 
TION: Over 600 pages of documentation 
provide step-by-step explanations for each 
major application, a reference page for each 
function, listings of functions alphabetical¬ 
ly and by usage, and a fully cross-referenced 


index. Extensive tutorials and demonstra¬ 
tion programs assist learning. 

PROFESSIONAL TECHNICAL 
SUPPORT: The same expert program¬ 
mers that develop our products provide 
prompt, knowledgeable technical support. 

PROFESSIONAL PORTABILITY: 

High-performance versions of VCS 
products are available for XENIX, 
UNIX, and VMS, as well as DOS. No 
royalties. 


OUR CHALLENGE AND 
GUARANTEE 

If you have an application where no 
other tool can do the job, try Windows 
for Data. If it doesn’t help you solve 
your problem, RETURN FOR A FULL 
REFUND. YOU MUST BE SATISFIED. 

Ask for FREE DEMO DISKETTE 


Vermont 2iEimAve. 

CreatlVC Richford, VT 05476 

Software 802-848-7738, 
Telex: 510-601-4160 VCSOFT 

Prices: PCDOS* $295; XENIX, VMS, UNIX Call. 
No royalties. Shipping $3.50. 

* PCDOS specify C compiler. 


WINDOWS FOR DATA 

for DOS, UNIX, VMS ... 

The complete windowing data entry, menu, 
and help system that does the hard job 
others can’t — we guarantee it! 

Fop-up data entry windows; field types for 
all C data types, plus decimals, dates, and 
times; auto conversion to and from strings 
for all field types; system and user supplied 
validation functions; range checking; re¬ 
quired, must-fill, and protected fields; free¬ 
form movement; multiple-choice field entry; 
scrollable sub-forms. Branch and nest win¬ 
dows, forms, and menus. 

Complete context-sentitive help system 
with pop-up windows and scrollable text. 

Fop-up, pull-down, scrollable, and Lotus- 
style menus. 

NEW FOR DEBUGGING: Exclusive 
VCS Error Traceback System auto¬ 
matically identifies the location and 
cause of program errors. Eliminates the 
need to code error checks on all function 
calls! VCS Memory Integrity Check¬ 
ing helps catch those hard-to-detect, 
memory-corruption errors. 

NEW FOR ERROR HANDLING: In¬ 
stall your own error handler to be called 
whenever a function detects an error. 

NEW FORM LAYOUT UTILITY sim¬ 
plifies form design. 



CIRCLE NO. 115 ON READER SERVICE CARD 




















Special 
Holiday Offer 


■ Separate Compilation ™ 

■ Native Code Generation 

■ Large Memory Model Suppprt 

■ Multitasking 

■ Powerful Debugging Tools 

■ Comprehensive Module Library 

■ Available for the PC and the VAX 
Use LOGITECH MODULA-2/86 to 

decrease your overall development cycle 
and produce more reliable, more 
maintainable code. 


Step up to the power of LOGITECH 
? MODULA-2/86 at a saving of nearly 
$100 off our usual low prices! We’re 
offering a complete tool set including 
our compiler with 8087 support (for use 
with or without an 8087),our Turbo 
to Modula-2/86 Translator, Run Time 
Debugger, and Utilities in one holiday 
package at a special price! 


WINDOW PACKAGE $49 


Build windows into your programs. Features 
virtual screens,color support, overlapping 
windows and a variety of borders. 


• LOGITECH 

MODULA-2/86 $89 

Includes Editor, Run Time System,Linker, 
8087 Software Emulation,Binary Coded 
Decimal (BCD) Module, Logitech’s com¬ 
prehensive library,Utility to generate 
standard .EXE files. AND more! 


I want to step up to 
LOGITECH MODULA-2/86! 
Here’s the configuration I’d like: 

□ Special Holiday Package $195 

□ Logitech Modula-2/86 $85 

□ with 8087 support $125 

□ Plus Package $185 

□ Turbo to Modula Translator $45 

□ Run Time Debugger $65 

□ Utilities Package $45 

□ Library Sources $95 

□ Window Package $45 

□ Make Utility $25 

□ ROM Package $199 

Add $6.50 for shipping and handling. Calif, 
residents add applicable sales tax. Prices valid 
in U.S. only. 

Total Enclosed $_ 

□ Visa □ MasterCard □ Check Enclosed 


MAKE UTILITY 


Figures out dependencies and automatically 
selects modules affected by code changes 
to minimize recompilation and relinking. 


LOGITECH MODULA-2/86 
with 8087 Support $129 


• CROSS RUN TIME $199 
Debugger and ROM Package 

Still available at an introductory price! 


gm LOGITECH MODULA-2/86 
^ PLUS $189 

For machines with 512K of RAM. 
Increases compilation speed by 50%. 


TURBO PASCAL to $49 
MODULA-2 TRANSLATOR 

“Turbo Pascal. ..is a very> good system. 
But don \i make the mistake of trying 
to use it for large programs 

Niklaus Wirth* 
Our Translator makes it even easier for 
Turbo users to step up to Modula-2/86. 
It changes your Turbo source code 
into Modula-2/86 source,solves all the 
incompatibilities, and translates the 
function calls of Turbo into Modula-2/86 
procedures. Implements the complete 
Turbo libraries! 


• RUN TIME DEBUGGER 
(Source level!) $69 

The ultimate professional’s tool! Display 
source,data,call chain and raw memory. 
Set break points, variables, pinpoint bugs 
in your source! 


Card Number 


Expiration Date 


Signature 


Name 


UTILITIES PACKAGE $49 


Address 


Features a Post-Mortem Debugger (PMD). 
If your program crashes at run-time the 
PMD allows you to analyze the status of 
the program and locate the error. Also 
includes a Disassembler, Cross Reference 
Utility, and Version that allows conditional 
compilation. 


Phone 


LOGITECH 


Call for information about our VAX/VMS 
version,Site License,University Discounts,Dealer 
& Distributor pricing. 

30 Day Money Back Guarantee! 

To place an order call our special toll free 
number: 


Logitech, Inc. 

805 Veterans Blvd. 
Redwood City, CA 94063 
Tel: 415-365-9852 

In Europe: 

Logitech SA, Switzerland 
Tel: 41-21-879656 

In Italy: Tel: 39-2-215-5622 


LIBRARY SOURCES $99 


800 - 231-7717 

in California 

800 - 552-8885 


Source code now available for 
customization or exemplification. 


^as reported in Micro Cornucopia. August-September 1985. Turbo Pascal is a registered trademark of Borland International. 
CIRCLE NO. 229 ON READER SERVICE CARD 


LOGITECH 































LETTERS 


With regard to mixed types, while 
it may be tedious to write 

[int( 1 ),int( 2 ),symbol( go ) ]; 

this is only a very small part of the 
whole picture. Lists are usually created 
dynamically instead of being typed in 
by hand, and then Turbo Prolog’s im¬ 
plementation has no disadvantage. On 
the contrary, Turbo Prolog makes it eas¬ 
ier to handle objects when you can use 
the functors to classify objects instead of 
using type predicates such as is_atom 
or is_integer. This is truly an advantage 
for the serious programmer. 

What you get with Turbo Prolog is 
a complete development environment 
with a user interface that your review¬ 
ers have qualified as “the best ever de¬ 
veloped.” It is a fast compiler, and an 
implementation of Prolog that allows 
for easy debugging. It has fast and small 
executable code, as well as low-level ac¬ 
cess to the machine. In essence, Turbo 
Prolog is the best tool available for 
building serious AI programs, and it is 
particularly well suited for development 
of expert systems. 

Philippe Kahn, president 
Borland International, Inc. 

We did not say that Turbo Prolog was 
not a good product, only that it was 
not Turbo Pascal. For users who want 
to sacrifice some versatility in exchange 
for a gain in speed, it works well. 

The changes from Wirth Pascal to 
Turbo Pascal were almost additions, 
not deletions, of features. Only the prob¬ 
lematic _get_ statement was deleted, 
and Wirth did the same thing himself in 
Modula-2. Turbo Prolog, on the other 
hand, differs from Edinburgh Prolog 
largely by the deletion of features and 
the addition of restrictions. 

The type system of Turbo Prolog 
would be welcome as an optional add¬ 
on to facilitate debugging. In its present 
compulsory form, however, it makes 
some basic algorithms, such as generic 
list operations, impossible to express. 

—Michael A. Covington 

BASIC UNLIMITED 

I just finished reading the review of the 
BASIC Development System (BDS) by 
BetaTool Systems (Product Watch, Paul 
Hultquist, June 1986, p. 196). As a de¬ 
voted user of this product I was dis¬ 
mayed by the reviewer’s lack of appre¬ 
ciation for its valuable features. Too 
much time was spent discussing things 
such as how to copy and load the pro¬ 
gram rather than its advantages for 
power users. Just a few examples: 


Imagine running a BASIC program 
that crashes with the message “Illegal 
function call in line 1230” and then 
wondering “how did I get there?” 

With BDS, it is necessary only to 
type T<Enter> and the system will re¬ 
spond by printing out the last 12 lines 
that were executed. 

Then to find what caused the ille¬ 
gal function call, all you have to do is 
type V”1230<Enter> and BDS will dis¬ 
play the current values of all the vari¬ 
ables used in that line. 

But you know what is displayed 
shouldn’t be the value of LIMIT. To find 
another place where and how you used 
it, type X;LIMIT<Enter> and back 
comes a listing of every line that con¬ 
tains the variable LIMIT. 

Now you look at line 2450 and 
wonder in what context LIMIT is used 
at that point. Type L2450<Enter> to es¬ 
tablish line 2450 as the current line and 
then type ,<Enter> and the screen will 
fill with a listing of a portion of your 
program with line 2450 right in the 
middle of the screen. 

Now you decide to renumber your 
program but you are leery because you 
know that when BASIC renumbers a 
program you are apt to get the message 
“Undefined line 1500 in 3200.” But by 
then it is too late because BASIC has al¬ 
ready renumbered the program and the 
line containing the undefined reference 
is no longer line 3200 and you cannot 
find out what place in the program 
used to contain the line numbers 
around line 1500. Therefore, you type 
RU<Enter> and BDS scans the pro¬ 
gram for undefined lines and reports 
them, but it does not make any changes 
in the program. 

These are just a few of the features 
that BDS adds to standard BASIC. 

One of the other features that 
makes BDS such a pleasant tool to work 
with is the ability to customize your 
copy of BDS so that it works the way 
you want it to work. If you want your 
Find Facility to be case insensitive (the 
default is case sensitive), it can be con¬ 
figured the way you want. If you want 
Dump to bypass null or zero elements, 
so be it. You can have your printer ini¬ 
tialize to WIDTH “LPT1: ”, 132 every 
time you invoke BASIC, or you can set 
the default BASIC function keys to your 
own values. 

I have talked to other users of this 
fine product and all of them agree that 
once you have used it, it is almost im¬ 
possible to do any work without it. Add 
this to the fact that BetaTool Systems 
provides courteous and accurate sup- 


The Answer 
to your 
Debug g ing 
Problems 


ICD286 

Announcing 
New Features 

• Supports EMS 

• Supports Microsoft windows 

At last! An 80286 emulator which is 
affordable, compact and easy to use. 
IDEAL for development, debugging, 
testing and field service. 

FAST—Full speed, real-time emula¬ 
tion up to 10 Mhz. 

AFFORDABLE—From $2400 to 
$5600, depending on options. 

EASY TO USE—On-line HELP 
with a screen oriented display. 

KEY FEATURES: 

• Hardware/software breakpoints 

• 2048 bus cycles of real-time trace 

• 64K of emulation memory 

• Symbol and line number support 

• Source-level debugging 

• Real and virtual (protected) mode 

support 

• Symbolic assembly/disassembly 

• Macros with parameters 

• Installs in an IBM-PC/XT/AT* 

or compatible 

• Supports EMS (New Features) 

• Supports Microsoft Windows 

(New Option) 


For further information, please con¬ 
tact: 

Akmu&i So|(wie 

Corporation 

20863 Stevens Creek Boulevard 
Cupertino, CA 95014 
(408) 253-7515 


*IBM-PC/XT/AT are registered trademarks of 
International Business Machines Corporation. 


FEBRUARY 1987 


CIRCLE NO. 214 ON READER SERVICE CARD 












LETTERS 


port over the telephone and you have 
what I consider to be the most useful 
tool in my programming arsenal. 

Al Weiss 
San Diego, CA 

AN EARLY VINTAGE 

I would like to offer a comment regard¬ 
ing Michael Covington’s very useful arti¬ 
cle on converting the IBM Color Graph¬ 
ics Adapter (CGA) to improve reproduc¬ 
tion of color signals on composite 
monochrome monitors (“A Better 
CGA,” July 1986, p. 137). Because of the 
values of the resistors pictured, I as¬ 
sume the board photograph that opens 
the article is of an earlier CGA. My ad¬ 
apter is early 1983 vintage, yet it is dif¬ 
ferent from the one shown, as well as 
the version described later in the arti¬ 
cle. There appear to be at least two 
“early” versions, which could prove 
confusing to those who attempt to mod¬ 
ify their CGA if it is like mine. 

My board has a group of 100-ohm 
(ft) isolation resistors in the RGB lines. 
Physically they are located between the 
9-pin connector and the U67. This area 
is outlined in white at the left of the top 
photo on page 137 of your article. 

These resistors are not on the schemat¬ 
ic in my edition of the Technical Refer¬ 


ence Manual (1302234). Resistor R8 is 
in roughly the position of the 15Kft re¬ 
sistor shown at the center in the photo. 
The blue-bodied resistors shown at the 
right are R5, R6, and R7 (from top to 
bottom). There are no pads for the re¬ 
sistors to be added. 

To modify a unit laid out as above, 
one end of each added resistor is sol¬ 
dered (carefully) to righthand pads for 
the 100-ft resistors, starting with the 
one nearest the RGB connector. These 
signals are for red, green, and blue re¬ 
spectively, proceeding toward U67. The 
other end of the 15Kft resistor can use 
the pad formerly occupied by R8 where 
it joins R5 to R7. The remaining ends of 
the lOKft and 12Kft resistors are then 
soldered to pads R6 and R7. The modi¬ 
fication produces a vast improvement in 
the performance of the adapter. 

Stuart E. Bonney 
Richardson, TX 

It does appear likely that IBM made 
more versions of the circuit than it doc¬ 
umented. Thank you for the informa¬ 
tion. The 100-Tl resistors apparently 
provide some degree of protection 
against short circuits or incorrect con¬ 
nections to the output connector. 

—Michael A. Covington 


FACE TO FACE 

I have been a subscriber to PC Tech 
Journal for several years and have en¬ 
joyed the contents, both editorial and 
advertising. It was with a great deal of 
dismay that I read your Product of the 
Month column for November 1986 (“A 
Basic Improvement,” Will Fastie, p. 31) 
and saw an example of one of the worst 
practices in magazine publishing. 

Working in technical publishing, I 
realize the pressures that batter the edi¬ 
torial staff from all sides—advertisers as 
well as readers. I realize also that space 
salespersons frequently do not feel 
bound by standards of journalistic integ¬ 
rity. However, selling an advertisement 
to Microsoft for its QuickBASIC 2.0 on 
page 30, just across the gutter from 
your glowing review of the very same 
product on page 31, impugns the integ¬ 
rity of your magazine, its editors, pro¬ 
duction people, and advertising staff. 

I truly hope that the advertising 
was not deliberately sold against the 
editorial on the next page. I would hate 
to think that a magazine with the repu¬ 
tation of PC Tech Journal would prosti¬ 
tute itself to an advertiser. 

I understand well that the editor of 
the magazine is frequently helpless to 
block the whims of the sales staff. How- 



Cross Compile\ 
68000 / 08 / 10/20 


Features: 

■ Full, Standard C 

■ Easy to Use Compiler Options 

■ Complete User Documentation 

■ Global Code Optimization 

■ Optional Register Allocation 
Via Coloring 

■ ROMable and Reentrant Code 

■ Comprehensive Royalty Free 
Run-time Library 

■ Floating Point Library Routines 

■ Intermix MCC68K C with 
ASM68K Assembly Language or 
Microtec PASS8K Pascal 

■ Optional Assembly Language 
Listing Intermixed with MCC88K 
C Source Line Number 

■ Symbolic Debug Capability 


The Microtec MCC68K C Cross Compiler 
is a complete implementation of the 
‘C’programming language as de¬ 
fined in The C Programming 
Language by Kernighan and 
Ritchie with extensions. 

MCC68K emits highly optimized 
assembly language code for 
the Microtec ASM68K 


Host computers include: DEC VAX, DG MV- 
Series, Apollo, IBM PC and PC-compatibles.. 

We’re Functional and Fast and Serious 
about our products. We’ve been providing 
flexible and economical solutions for soft- 


assembler. 

The Microtec MCC68K 
package includes the 


macro assembler, 
linking loader, 
run-time li¬ 
brary, and 
compre¬ 
hensive 
user’s 
guide. 


Beginning with product concept, through 
development, quality assurance, and post¬ 
sales support - Quality, Compatibility 
and Service are the differences which set 
Microtec Research apart from others. 

If you’re a serious software developer, shop¬ 
ping for software development tools, call or 
write today for more information : 

800 - 551 - 5554 , 

In Ucall 1406/739.2919. 


3930 Freedom Circle, Suite 101, Santa Clara, CA 95054 
Mailing Address: P.O. Box 60337, Sunnyvale, CA 94088 

W//A microtec @ 

Wm RESEARCH 









MICROSOFT LANGUAGES NEWSLETTER Vol. 2, No. 2 


News about the Microsoft Language Family 


The Evolution of Optimization Techniques Used in Microsoft® C. 

One of the reasons the Microsoft C Compiler has been chosen by leading software developers is because 
of the optimization techniques used in the code generator of our production-quality compilers. Microsoft’s 
advanced optimization capabilities mean that generated code is small and fast. 

Local optimization was implemented in Microsoft C Version 3.0. Most MS-DOS * -based C compilers implement 
this technique, but good local code generation such as that in Microsoft C Version 3.0 uses pattern matching to 
select optimal sequences and register targeting to evaluate expressions in their target destinations. Peephole analysis 
is also used and includes such optimizations as redundant load/store analysis. This increases the efficiency of 
the resulting code by removing unnecessary or duplicate instructions. The compiler also optimizes branches 
by shortening or removing branches where it can. 

Microsoft C Version 4.0 went one step further with block optimizations that used common subexpression elimination. 
This improved code optimization still further. The advantage is the time saved by avoiding recalculation of 
computations which are used repeatedly in the program. 

For example: 

a = b * (c/d); will evaluate to: 
tmp = (c/d); 
a = b * tmp; 

e = f * (c/d); will evaluate to: 
e = f * tmp; 

Note: depending on the context, tmp might be a register variable rather than a memory location. 

The next progression for block optimizations is to do loop optimizations in our future production-quality compilers. 
If a calculation inside a loop does not depend on any calculations inside the loop, it can be moved outside the 
loop. This is called invariant code motion. A second loop optimization technique is called induction variables. 

This means that while in a loop, multiplies by the control variable can be turned into additions. 

Examples of induction variable optimization: 

1. for (i = 0; i < 10; ++i) 

j+=i*7; 

evaluates to: 

for (i = 0; i < 70; i+=7) 
j+=i; 

2. char a[10]; 

for (i = 0; i < 10, i++) 

a[i] = 1 1 ; 

evaluates to: 

memset (a, ‘c’, 10); 

ie: the following 8086 instruction would be generated: 

REP STOSB 

There is also loop enregistering, in which case calculations can be kept in a register for the whole loop. Loop 
optimization is implemented in the new 386 C Compiler in the XENIX® 386 Software Development Toolkit. 


For more information on the products and features 
discussed in the Newsletter, 
write to: Microsoft Languages Newsletter 
16011 NE 36th Way, Box 97017, Redmond, WA 98073-9717. 

Or phone: 

(800) 426-9400. In Washington State and Alaska, 
call (206) 882-8088. In Canada,'call (416) 673-7638. 


Microsoft, MS-DOS, and XENIX are registered trademarks of Microsoft Corporation. 


Latest DOS Versions: 


Microsoft C Compiler 

4.00 

Microsoft COBOL 

2.10 

Microsoft FORTRAN 

3.31 

Microsoft Macro Assembler 

4.00 

Microsoft Pascal 

3.32 

Microsoft QuickBASIC 

2.00 


T nnV for the- Microsoft I ^nonaaes Newsletter everv month in this nublication. 






Clarify your Source Code 

C, BASIC, Pascal, dBase, Modula-2 . 

programmers: Be more productive with * 

two new utilities from Aldebaran 
Laboratories! 


Source Print organizes your 

source code, simplifies debugging, makes 

documentation a snap 

■ Index (cross 
reference) for 
variables, functions, 
procedures, fields 

■ Structure outlining 
to draw lines around 
nested structures 

■ Automatic 
indentation 

■ Table of contents list¬ 
ing functions, proce¬ 
dures, subroutines 

■ Boldface printing of key words 

■ Split multistatement BASIC lines for readability 

■ Extract routines by name 


Tree Diagrammer" identifies the 

hierarchical structure of your program 


Occa^a^’ 

comes 

*aU«a^ eS 
a ' on8 ,ner’s 

sou 

\ e oVb\e 

b e\pi^ l ° 

docomen 
1>0 d 


$ 55 . 


Prints organization chart 
of program automatically 
Illustrates hierarchy of calls to functions, proce 
dures, subroutines 
Indicates recursive calls 


Both utilities have an easy-to-use menu with 
point-and-shoot file selection, and let you search 
for files containing a given string. For IBM PC 
and compatibles with 256K. 

Get your programs organized now. Order these 
indispensable tools today. We ship immediately, 
and there’s no risk with our 60-day money-back 
guarantee. 

800 - 257 - 5773 , 800 - 257-5774 ( ca) 

MC, VISA, AX, COD. Add $5 for shipping. 

Source Print and Tree Diagrammer are trademarks of Aldebaran 
Labs, dBase is a trademark of Ashton Tate. 

Handles up to 50 files, 60,000 lines. 


Aldebaran Laboratories, 3339 Vincent Rd. 
Pleasant Hill, CA 94523 415-930-8966 

YES! Rush me 

□ Source Print (a $75_f 


□ Tree Diagrammer (a $55_ 

Ship/Handling $5. For CA add 6% tax _ 

TOTAL_ 

Name_ 

Company_ 

Address_ 

City_ 



ais 


. State 


□ Check enclosed 

Card #_ 

Signature_ 


□ VISA □ Mastercard □ American Express 

_Exp. Date 

_Phone # 



LETTERS 


ever, the sales people should realize 
that readers and advertisers alike hold 
those periodicals in greatest esteem that 
resist the temptation to sully their repu¬ 
tation by selling “advertorial.” 

Again, I enjoy your publication. I 
hope that this letter will help the sales 
staff realize that readers are indeed per¬ 
ceptive to actions that adversely impact 
the magazine’s reputation. 

Harold Winard 
Wharton, NJ 

Yes, it’s a fine mess. We know that 
Microsoft runs the newsletter next to 
Product of the Month, but we forgot to 
check its content that month. We did 
not realize the company would feature 
QuickBASIC. All we can say is that 
Microsoft also did not know we would 
feature QuickBASIC, because our policy 
is, and always has been, not to notify 
the vendor in advance when its product 
has been named. 

We normally catch this kind of 
problem. This time, we did not. 

—WF 

EMULATE-STRAIGHT 

I read with great interest your article 
entitled “LAN Gateways,” (Art Krumrey 
and Roger Addelson, November 1986, 
p. 74). However, one slight mistake in 
the article regarding nomenclature 
served to confuse me greatly. 

The authors continually referred to 
the “IBM 3270-PC Emulation Pro¬ 
gram^).” Of course, IBM does make a 
machine called the IBM 3270-PC, but I 
do not believe that this is the product 
that Messrs. Krumrey and Addelson 
were using as their test vehicle. 

Of course, IBM’s nomenclature 
leaves something to be desired, but that 
is a subject for another day. 

The article, as a whole, was very in¬ 
formative. There are many of us out 
here in the SNA/SDLC world who are 
trying to come up with the optimum 
way to network the myriad of devices 
that seem to have sprung up in the last 
few years. Please give us more of these 
articles in the future. 

Paul Sligar 
Matsushita Electric 
Corporation of America 
Norcross, GA 

The product reviewed is indeed the IBM 
PC 3270 Emulation Program, version 
2.0. It is a member of IBM’s family of 
3270 PC Emulation Programs. PC Tech 
Journal regrets the error. 



24 


PC TECH JOURNAL 




























* 



r 

i 

I 

:: 


Lh 

l 




Introducing 
The Most Important 
Programming Development 
Since The Introduction Of C: 


ADVANTAGE C+ + 

Exclusively From LIFEBOAT For PC!MS-DOS 


Finally there's a programming language that 
enhances C, instead of making it obsolete! 
ADVANTAGE C + +, developed by AT&T, is a major 
programming breakthrough. By introducing the 
concept of classes, it enables C programmers to 
use object-oriented programming methods. 
ADVANTAGE C + + gives you greater efficiency, 
flexibility and reliability than ever before—and 
allows you to more productively build large and 
sophisticated applications. 

ADVANTAGE C++All The Benefits 
Of C Without Its Limitations! 

• Opens the door to object-oriented program¬ 
ming. 

• Allows programs with greater resilience and 
fewer bugs. 

• Lets you write reliable, reusable code that is 
easier to understand. 

• Has many enhancements over C, yet maintains 
full compatibility with existing C programs. 

Advantages Only ADVANTAGE C+ + 
Can Give You: 

• Operator Overloading—Allows simple, reliable 
user-designed types. 

• Function Name Overloading—Simplifies 
function names and argument lists. 

• Guaranteed Programmed Initialization — En¬ 
sures automatic initialization of all data objects 
before their use. 

® Guaranteed Programmed Type Conversion — 
Ensures consistent conversions from one user- 
designed type to another. 

• Optional Strong Type Checking—Weeds out 
type mismatches at compile time. 


• Classes—Similar to structures; provide syntax 
for user-designed data types and encapsulation of 
access functions with data objects. 

• Data Abstraction — Makes code easily reusable 
and more resilient. 

• Data Hiding — Improves software reliability. 

• Inheritance—Enables generic code written for 
more abstract types such as 'list' or 'windows' to be 
used by more specific types. 

• Constant Data Types—Prevent inadvertent 
alteration of fixed values, such as hardware 
addresses. 

• Reference Data Types—Improve the efficiency 
of argument passing. 

• Inline Functions—Remove the overhead of 
calling external functions. 

• Heap Management—Simplifies the use of 
dynamic memory. 

Why be limited to just C...when you can have all 
these pluses! ADVANTAGE C + + includes libraries 
for stream I/O and complex math — and versions 
are now available for Lattice C and Microsoft C. Call 
today to order or to obtain a complete technical 
specification sheet: 

1-800-847-7078 

In NY: 914-332-1875 

twain at 



The Full-Service Source for Programming Software. 


55 S. Broadway, Tarrytown, N.Y. 10391 

CIRCLE NO. 163 ON READER SERVICE CARD 


helps save time, money and cut frustrations. Compare, evaluate, and find products. 


RECENT DISCOVERY 


Poly Boost - Run 2 to 10 times 
faster with software accelerator. 

Speeds disk access, screen display, 
keyboard input. PC S 69 


Al-Expert System Dev t 


Arity System-incorporate w/C. MS S 259 
Experteach-Improved, samples PC S 399 
EXSYS PC S 319 

Insight 2+ - dB2, language MS S 389 
Texas Instruments: 

PC Easy PC S 439 

Personal Consultant Plus PC $2599 


Al-Lisp 


Microsoft MuLisp 85 MS $ 199 

PC Scheme LISP - by TI. SCHEME has 
simple, “orthogonal” syntax. PC $ 85 

TLC LISP-classes, compiler. MS $ 225 
TransLISP-Good for learning MS $ 85 

Others: IQ LISP ($ 155), UNX LISP ($59), 
IQC LISP ($269), WALTZ LISP ($ 139) 


Al-Prolog 


APT - Active Prolog Tutor - build 
applications interactively PC $ 65 

ARITY Standard - full, 4 Meg 
Interpreter - debug, C, A*SM PC $ 319 
COMPILER/Interpreter-EXE PC $ 699 
With Exp Sys, Screen - KIT PC $1129 
LPA Mac Prolog - Complete incremental 
compiler and an interpreter MAC $ 295 

LPA MicroProlog - intro MS $ 85 

LPA MicroProlog Prof. - full 
memory MS $ 349 

Prolog-86 - Learn Fast MS $ 89 

Prolog-86 Plus - Develop MS $ 229 

TURBO PROLOG by Borland PC $ 69 


Editors for Programming 


BRIEF Programmer’s Editor - 
undo, windows, reconfigure PC Call 
EM ACS by UniPress - powerful, 
multifile, MLISP. Source: $929 $ 299 
Epsilon - like EM ACS PC $ 155 

Kedit - like XEDIT PC $ 105 

Lattice Screen Editor-multiwindow 
multi-tasking Amiga $ 89 MS $ 109 
PC/VI - Custom Software MS $ 109 
Personal REXX - PC $ 109 

PM ATE - power, multitask PC $ 109 
SPF/PC - fast, virtual memory PC $ 139 
XTC - multitasking PC $ 79 


FEATURES 


dBXL by Word Tech - complete interpreter 
clone. Adds windowing. Quicksilver 
LAN support. Non-copy protected. 

PC $ 129 

TransLISP PLUS - with C INTERFACE. 
400+ COMMON LISP functions. 
Optional UNLIMITED Runtime $ 150 
PLUSorMSDOS $ 179 


Note: All prices subject to change without notice. 
Mention this ad. Some prices are specials. Ask about 
COD and POs. Formats: 3" laptop now 
available, plus 200 others. UPS surface shipping 
add $3/item. 


700 + Programmer’s Products 

The Programmer’s Shop carries every program¬ 
mer’s software product for MSDOS, PCDOS, 
CPM, Macintosh, Atari, and Amiga systems. We 
help you choose the best tools for you. Most popular 
products are in stock, available for quick delivery. 
We will gladly special order a product for you at 
no charge — just allow a few extra days for de¬ 
livery. 

Need Cross Compilers, Translators, or the right 
Fortran compiler? Ask us. 

Our Services: 

• Programmer’s Referral List • Dealers Inquire 

• Compare Products • Newsletter 

• Help find a Publisher • Rush Order 

• Evaluation Literature FREE • Over 700 products 

• BBS • 7 PM to 7 AM 617-8264086 National Accounts Center 


C Support-Systems 


Basic-C Library by C Source MS $139 
C Sharp - well supported, Source, 
realtime, tasks PC $600 

CToolSet-DIFF, xref, source MS $ 95 
The HAMMER by OES Systems PC $159 
Lattice Text Utilities PC $ 95 

Multi-C - multitasking PC $149 

PC LINT-checker. Amiga $89, MS $107 
SECURITY LIB - add encrypt to MSC. 

C86 programs. Source $229 PC $115 
Quickshell - script compiler PC $349 


Fortran & Supporting 


Forlib + by Alpha - graph, comm. $ 59 
M ACFortran by Microsoft - full 'll $229 
MS Fortran link to C $209 

No Limit - Fortran Scientific $119 

RM Fortran - enhanced “IBM Ftn” $389 
Scientific Subroutines - Matrix $149 


MultiLanguage Support 


BTRIEVE ISAM MS $199 

BTRIEVE/N - multiuser MS $469 

CODESIFTER - Execution PRO¬ 
FILER. Spot bottlenecks. MS $109 
Dan Bricklin’s Demo Program PC $ 65 
HALO Graphics -115+ device 
interfaces, rich, printer. Specify 
language interface PC $209 

Microsoft Windows Software 
Development Kit PC $349 

PANEL - data validation, no 
royalties Xenix $539, MS $229 

Pfinish Performance Analyzer MS $249 
PLINK-86 - a program-independent 
overlay linker to 32 levels. MS $249 
PLINK-86 PLUS - incremental MS $369 
PolyLibrarian MS $ 85 

PVCS Version Control MS $329 

Screen Sculptor-slick, thorough PC $ 99 
ZAP Communications - VT 100, 

TEK 4010emulation, file xfer. PC $ 89 


C Libraries-Communications 


Asynch by Blaise PC $135 

Greenleaf Comm Lib. PC $149 

Multi-Comm - add multitasking, use 
w/Multi-C PC $149 

Software Horizons pack 3 PC $119 


RECENT DISCOVERY 


Uniware Cross Development Tools - 

include 68000 C compiler. Development 
Package with compiler, assembler, link 
editor, and utilities, 17 cross assemblers 
for Intel. TI, Motorola, Zilog, 
etc. - relocatable, macros. MS Call 


C Language-Compilers 


AZTEC C86 - Commercial PC $ 499 
C86 by Cl - 8087, reliable MS $ 299 
Datalight C - fast compile, good 
code, 4 models. Lattice compatible, 

Lib source. Dev’rs Kit PC $ 77 

HOT C - new, intriguing PC $ 85 

Lattice C - from Lattice MS $ 299 
Mark Williams - w/debugger MS $ 369 
Microsoft C 4.0 - CodeView MS $ 279 
Wizard C - full, fast. MS $ 359 


C Language-Interpreters 


C-terp by Gimpel - full K & R MS $ 229 
C Trainer by Catalytix PC $ 89 

INSTANT C - Source debug, 

Edit to Run-3 seconds, .OBJs MS $ 379 
Interactive C - interpreter, editor PC $ 225 
Introducing C-learn C quickly PC $ 105 
Run/C Professional - MS $ 179 

Run/C Lite - improved MS $ 97 


C Libraries-General 


Blackstar C Function Library PC $ 79 

C Essentials by Essential PC $ 83 

C Food by Lattice-ask for source MS $ 109 
C Scientific Subroutines-Peerless MS $ 135 
C Tools Plus (1&2) PC $ 135 

C Utilities by Essential - Comprehensive 
screen graphics, strings. Source. PC $ 137 
C Worthy Library MS $ 269 

Entelekon C Function Library PC $ 119 
Greenleaf Functions-portable, ASM $ 139 
PforCe by Phoenix - objects PC $ 249 


C Libraries-Files 


FILES: C Index by Trio - full B + 

Tree, vary length field, multi compiler 
/File is object only MS $ 89 

/Plus is full source MS $ 349 

CBTREE-Source, no royalties MS $ 99 

CTree by Faircom-no royalties MS $ 319 
dbQUERY-adLoc, SQL-based MS $ 159 


dbVISTA - full indexing, plus optional 
record types, pointers. Network. 

Object only- MS C, LAT, C86 $ 159 

Source - Single user MS $ 429 

Source - Multiuser MS $ 849 

dBASE Tools for C PC $ 65 

dbc Isam by Lattice MS $ 199 

dBx - translator MS $ 319 

w/source MS $ 519 


FEATURE 


Insight 2 + - Flexible expert 
systems shell has intrinsic dBASE 
operators, forward and backward 
chaining, transparent view of 
reasoning process. MS $ 389 


We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga. 


CIRCLE NO. 162 ON READER SERVICE CARD 










































provides complete information, advice, guarantees and every product for Microcomputer Programming. 


Special Features 


Finally . . . Easy Screen Handling for COBOL Saves Time, 
Adds Flexibility: Screenplay 

Menus, Help, and Data Entry Screens can be created (“painted”) interac¬ 
tively. When you are satisfied Screenplay performs all screen handling for 
you in any of more than 9 compilers. 

Save valuable time by avoiding the tedious, time consuming process of 
writing screen handling source code. Screenplay’s easy-to-use panel painter 
allows you to create I/O panels, pop-up windows or menu panels. 

True screen handling flexibility is yours. Override default panel settings 
to design practically any type of screen imaginable — even change just 
about any panel characteristic at runtime . 

Prototype your draft screens before you write a single line of COBOL 
source code. In addition, you can link Screenplay by interrupt or directly 
to your application. And if your compiler doesn’t allow a direct link, use 
the dynamic load option for linking Screenplay to your application. 

You can assign practically any keyboard key to serve as a specific cursor 
function and define exactly which keys will return control to your applica¬ 
tion . Entirely reconfigure the keyboard for your program. 

Screenplay’s panel painting process is a one step approach. There’s no 
need to go through a separate process to establish fields on your I/O panel. 
What’s more, you can use any ASCII character in your Screenplay panels. 
You also have full control over character attributes such as foreground and 
background color, intensity, and blinking. 

Panels are stored in a compressed ASCII file save memory and disk space. 
Copy panels across and within files, rename, delete, test and print panel de¬ 
tails. Even print an image of the panel for your documentation. No royalties. 
Not copy-protected. Supports IBM, MS, Realia, Ryan-McFarland (includ¬ 
ing 8X) COBOL. 

201-895-4724 PCDOS List: $175 Ours: $155 


Multitasking, Windowing for C, Turbo Pascal, or dBASE or... 
in only 12K! 

SYNERGY Development Toolkit 

The highly efficient design of Synergy by Matrix gives you the benefits 
of powerful graphics, windows, pull-down menus, dialog boxes, sophisti¬ 
cated text and icon management, math support, multitasking, and SPEED, 
all for an incredibly small 12K RAM requirement. 

The Synergy Runtime provides character and graphics support for menus, 
windows, dialog boxes, and more, so you can write programs that work in 
either mode, with very reasonable, low runtime fees. 

Functions include: window management with capabilities like tile and 
overlap, variable size and placement, process management, to support mul¬ 
titasking and sub-process generation, menus, dialog, and icon management, 
graphics, text (including a variety of fonts and sizes), and console manage¬ 
ment. 

The Synergy Development Toolkit is a collection of sophisticated tools de¬ 
signed for software developers writing new applications using Synergy, or 
modifying existing applications to take full advantage of Synergy. Tools in¬ 
clude: graphics resource editor for creating and modifying icons and text 
fonts, graphics resource compiler to construct and manage resource data 
files, font compiler and manager, debugging tools, sample library, and 
more. 

Supports IBM or Microsoft Macro Assemblers, Turbo, IBM, and Micro¬ 
soft Pascal, IBM and lyiicrosoft BASIC, Lattice and Microsoft C, and 
dBASE II and III. CGA, EGA, and Hercules monochrome graphics 
support. 



PCDOS List: $395 Ours: $375 
617-567-0037 


Expert System Shell & Language 


Screen Management H O S ADDON 


Add AI Power to Existing Applications 

Insight 2 + 

“Insight 2+ is an awesome system . . . this may well be the best expert 
system generator on the market.” — ONLINE 

Choose a knowledge engineering tool that makes your current database sol¬ 
utions work smarter with a built-in PASCAL-like knowledge engineering 
grammar that minimizes your training time. Insight 2+ works with your 
installed software and database and has intrinsic dBASE II and III operators, 
plus Level Five’s powerful, flexible Production Rule Language. 

Insight 2+ is a highly connective, integrated expert systems shell that 
adapts to your needs. Its detailed interactive reporting system lets you see 
inside the reasoning process of the knowledge base. You can see reports on 
the lines of reasoning, known and unknown facts, alternate rule pathways 
to a shared conclusion, or knowledge trees, showing all possible goals, con¬ 
clusions, and paths of reasoning hierarchically — and more. You can even 
step forward and back in a rule chain from beginning to end. 

Create “what-if' scenarios by saving, editing, and re-using knowledge 
base contexts, or customized reporting to track end-user sessions. 

Insight 2 + performs backward and forward chaining inference, supported 
by object attribution and goal outlining, outside program activation, and full 
parameter passing capabilities. 

Insight 2 + supports very large knowledge bases which can be linked — 
the number limited only by disk space. Full scientific and math capabilities 
include logarithmic and trigonometric functions and floating point notation; 
ideal for engineering and scientific applications. 

305-729-9046 PCDOS List: $485 Ours: $389 


Get a Cleaner, Faster, User 
Interface with 

The Screen Ace Form Master 

Coded in assembler to give you the 
power for creative design, and the 
speed not available in other packages. 

Form Master supports all 256 color 
and monochrome attributes. Paint 
screens with the screenbuilder (allows 
changes without recompiling!) and 
save to a DOS file, define screens 
within your program at runtime, or 
combine these techniques, to modify 
screens on the fly. 

400+ lines and 2000+ fields per 
screen; the number of screens limited 
only by available memory. 

Permits flexible function key defini¬ 
tion, toggling field colors and attri¬ 
butes at runtime. Switch between 
screens without losing data. 

DESQview, TopView, MS Win¬ 
dows compatible, Lattice, MS C (all 
models), APL*Plus/PC, Assembler. 
Call for a $3 demo with tutorial. 
PCDOS List: $195 Ours: $179 
818-989-5329 


NOW: Full Shell Programming 
with MSDOS: 
PolyShell with 
UNIX-Like Utilities 

PolyShell gives you a UNIX-com¬ 
patible command environment PLUS 
a full set of UNIX-like utilities — yet 
DOS commands and batch files are al¬ 
ways immediately accessible. 

Alias and Command Macro Sub¬ 
stitution save keystrokes, let you ac¬ 
cess and customize DOS internal 
commands. With History Substitu¬ 
tion, edit, re-execute previous com¬ 
mands or portion of command. 

‘C-Shelf and Bourne Shell compati¬ 
ble I/O redirection, very flexible 
filename expansion capabilities. 

Includes 30 powerful utilities from 
the UNIX world (like grep, diff, sed, 
cut, paste). Shell and utilities can be 
loaded separately. Requires only 30K 
RAM total. PolyShell is NOT UNIX; 
no UNIX license needed. 

PCDOS List: $149 Ours: $129 
503-645-1150 


Call for a catalog, literature, advice and service you can trust 


SI hours 99 

8:30 AM-8:00 PM EST. 


800 - 421-8006 

THE PROGRAMMER’S SHOP™ 

128-P Rockland Street, Hanover, MA 02339 
Mass: 800-442-8070 or 617-826-7531 12/86 


“The scope and detail of services you provide are 
exemplary — it's obvious you have given a lot 
of thought to what information people need . . . 
For someone like myself, critical appraisals of 
software and comprehensive collections of offer¬ 
ings such as you have are really useful.'' 

A. Bruce Cyr 
Foundation of American College 
of Health Care Administrators 


CIRCLE NO. 151 ON READER SERVICE CARD 

























TUrbo Progmmmers: 



V 

]I ou're programming, getting all your ducks 
JL. in a row, but there's a culprit in there, a bug. 
T-DebugPLUS, the new symbolic run-time debugger, 
helps you find that bug and fix it faster than ever before. 

In Command. In Control. 

See what happens as your Turbo Pascal programs 
run.. .examine variables...change them.. .be in control. 
The top half of your screen displays the source code, 
current line highlighted. You debug interactively on the 
lower half. All data types are accessible, both local and 
global variables. You can set breakpoints at a procedure, 
function, or line number. 

Instant Gratification. 

T-DebugPLUS integrates invisibly, automatically 
loading Turbo Pascal. Switch instantly between the 
debug and output screen. Jump instantly to the editor 
when you find a bug. 

" T-DebugPLUS .• Don't program in Turbo 

PaSCal Without it Neil Rubenking 

PC Magazine 

Experts agree, it's an invaluable time and frustration 
saver. T-DebugPLUS is only $60. 

More Power. More Productivity. 

Turbo EXTENDER” helps you break the 64K barrier 
for both code and data, allowing you to use all 640K. 

A source code conversion program, make facility, and 
run-time routines make writing and compiling large 
programs dramatically easier. Turbo EXTENDER is 
only $85. 


Find the culprit fast 
with T-DebugPLUS' 


TurboPower Utilities" supplies nine powerful 
programs. Fbur Pascal utilities, including the acclaimed 
Pascal Structure Analyzer and Execution Timer, help 
you write programs that are bug free, easier to docu¬ 
ment, and faster. Five PC-DOS utilities help you analyze, 
change, and find your program files. TurboPower 
Utilities is $95 with source, $55 executable only. 

"Impressive products. ..I recommend them:' 

Philippe Kahn, President 
Borland International 

Satisfaction guaranteed or your money back 
within 30 days. 

Call toll free for credit card orders: 

800 - 538-8157 x830 

outside California or 

800 - 672-3470 x830 

in California 

Shipping and taxes prepaid for TurboPower 
Software orders in U.S. and Canada. Others 
please include $6 per item for shipping. 



TurboPower Software 
products require Turbo 
Pascal 3.0 (standard, 
8087, or BCD) and 
require PC-DOS 2.X 
or 3.X, and run on the 
IBM PC/XT/AT and 
compatibles. 


m^3 



TUrboPower Software, 3109 Scotts Valley Dr. #122, 
Scotts Valley, CA 95066 
Call 408-438-8608 for more information 
(M-F 9AM-5PM PST). 

CIRCLE NO. 193 ON READER SERVICE CARD 



























Now You Can Tkirn Your PC On And Off From Anywhere. 


You’re on the road. Chicago.7:00 AM. modem as well as a host of remote software 
You just got your wake-up call, and you’re about communications packages. And our Dyna-Talk 
to place one yourself, back to your PC at software keeps your system secure while keep- 

the LA office. No matter that it’s 4:00 AM there, ing track of all authorized and unauthorized 

and the PC is turned off. You have Turn-On, access attempts. Turn-On is a 24-hour-a-day 

an amazing peripheral that senses your call productivity tool that is a 24-hour-a-day 
coming in and, before answering, safely powers protectivity tool as well, featuring three-stage 

up the peripherals and the PC, runs you power protection against surges, spikes and 

through a three-level security check, then glitches, at no extra cost, 

puts you through to your system. From there, Turn-On. When it comes to your PC, 

you can get your PC started on a pre- there’s nothing remotely like it. For the dealer 

programmed assignment, while LA ^ w nearest you, call (800) 638-9098. 

sleeps and you go take a shower. '*%s ts>dE / ^Dynatech Computer Power, Inc. 
And when your PC is done Jf 4744 scotts Valley Drive, 

Turn-On automatically turns it off. Scotts Valley, California 95066 

Turn-On works with your 408/438-5760. 

CIRCLE NO. 178 ON READER SERVICE CARD 


COMPUTER POWER, INC. 



Theme 




-320K. Windowing can gi ve you a whole new outlook. 

It can also gobble up a whole lot of memory 

Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft 
Corporation. IBM is a registered trademark of International Business Machines Corporation. Sidekick and Turbo 
Lightning are trademarks of Borland Int., Inc. ProKey is a trademark of RoseSoft, Inc. Memory requirements are 
manufacturers’ minimum system requirements. © 1986 Intel Corporation. Above is a trademark and Intel a 
registered trademark of Intel Corporation. 


-66K, -128K, -128K 
A word of warning: Too many 
pop-ups can have a negative 
effect on your memory 


Random H 
















-128K Everyone will tell you downloading 
is where it’s at. Which is why expanded memory 
is where you should be. 


It can happen just like that. 

One minute you’ve got a walloping 640K, the 
next minute, you’ve got zip. 

That’s because each new application you 
add devours precious RAM. 

Fbrtunately you can avoid playing memory 
roulette. With an Above™ Board from Intel. 

Above Board is more than just another 
slam bam memory board. It’s a long-term 
memory solution. 

It not only takes you up to 640K of conven¬ 
tional memory it gives you up to 4 megabytes of 
expanded memory Based on the EMS standard 
developed by Lotus® Microsoft® and the folks 
paying for this ad. 

So now you can take advantage of applica¬ 
tions like the ones over 
there on the left, know¬ 
ing you’ve got memory 
to spare. 

Plus (and it’s going 
to be a big plus in the 
future), Above Board 
provides extended 
memory which will 
support protected mode DOS. So you won’t have 
to eighty-six your Above Board, no matter 
what happens in’87. And beyond. 

What’s more, every board comes with a 
five-year warranty toll-free hotline support and 
a free copy of Microsoft Windows. (- 320K. But 
then, with Above Board, that’s no big loss.) 

Fbr details, see your favorite computer dealer. 
Or can us at (800) 538-3373. 

And find out why the first thing to go is the 
last thing to worry about. 


CIRCLE NO. 216 ON READER SERVICE CARD 




TECH RELEASES 


Hardware, software, and other deielopments for the IBM PC family 



Modgraph, hit's PERFORMER U graphics controller 


HARDWARE 

A 16-MHz, 80386 microprocessor-based 
system, PC’s Limited 386 16 , has been 
previewed by PC’s Limited. The system 
uses VLSI (very large scale integration) 
technology', incorporating fewer than 30 
chips on the motherboard. The mother¬ 
board measures 9 inches by 13 inches 
and has eight expansion slots (six avail¬ 
able). The expansion bus is user-switch- 
able between 8 and 12 MHz. The sys¬ 
tem's memory' architecture features 
pure static RAM chips for zero-wait-state 
operation. The PC’s Limited 386 1(1 base 
configuration includes 1MB of RAM, a 
1.2MB diskette drive, a 200-watt power 
supply, and an I/O interface card with 
four video output modes, a mouse port, 
two serial ports and one parallel port, 
and a diskette drive controller. PC’s Lim¬ 
ited will offer the following as options: a 
1.44MB, 3^ inch diskette drive; a 150MB 
ESDI (enhanced small device interface) 
hard-disk drive with an average access 
time of 16 milliseconds (ms), and 40MB 
and 80MB hard-disk drives, each with a 
28-ms access time. Prices for the 386 10 
and its options are not yet available. 

PCs Limited, 1611 Headway Circle, 
Building 3, Austin, TX 78754; 
800/426-5150; in Texas, 800/252-8336 

CIRCLE 301 ON READER SERVICE CARD 

Two high-resolution graphics control¬ 
lers, the performer i and the perfor¬ 
mer ii, have been announced by Mod- 
graph, Inc. Both use the Hitachi 
ACRTC (HD63484-8) graphics coproces¬ 
sor. The performer i, with a 40-MHz 
pixel clock and a drawing speed of 2 
million pixels per second, offers an on¬ 
board video memory' of 16KB by' 256KB 
for display of 16 colors with resolutions 
from 640 by 480 to 1,024 by 780 pixels. 
Primitives include line, circle, ellipse, 
arc of circle or ellipse, filled rectangle, 
and polygon. Zoom, pattern operations, 
and area fills are implemented in the 


hardware. Video output is RGBI at TTL 
(transistor-transistor logic) levels. The 
performer ii offers all the features of per¬ 
former i, but with a resolution of up to 
1,280 by 1,024 pixels, 256 colors from a 
palette of 4,096, 40KB by 256KB video 
memory, and a pixel clock of 110 MHz. 
performer i, $1,895; ii, $3,495. 

Modgrapb, Inc., 56 Wintbrop Street, 
Concord, MA 01742; 617/371-2000 

CIRCLE 315 ON READER SERVICE CARD 

A high-performance graphics board that 
provides twice the resolution and up to 
100 times the speed of the IBM En¬ 
hanced Graphics Adapter (EGA) has 
been introduced by' Quadram Corpo¬ 
ration. QuadHPG is based on the Intel 
82786 graphics coprocessor. It supports 
four resolution modes: IBM Color 
Graphics Adapter (CGA), EGA, and Pro¬ 
fessional Graphics Controller (PGC) and 
a 640-by-480 pixel mode for RS-170A 
RGB display. QuadHPG can display as 
many as 256 colors from a palette of 
more than 16 million. It draws at a rate 
of 2.5 million pixels per second, dis¬ 
plays up to 25,000 characters per second 
and has an area fill rate of up to 3.75 
million pixels per second. The board 
features from .5MB to 2MB of standard 
DRAM video memory for display re¬ 
fresh, character fonts, and display list. It 
supports both analog and digital output 
and is compatible with either an 8- or 
16-bit data bus interface. $1,095. 
Quadram Corporation, One Quad Way, 
Norcross, GA 30093; 404/923-6666 

CIRCLE 310 ON READER SERVICE CARD 

The 4375M UltraScan monitor from 
Thomson Consumer Products Cor¬ 
poration automatically adjusts to any 
horizontal scan frequency between 15.7 
and 35 KHz, as well as any vertical scan 
frequency between 45 and 75 Hz. This 
range supports the IBM CGA, EGA, and 
PGC standards, as well as the IBM 
monochrome and Hercules standards. 
The 4375M UltraScan features a 13-inch 


Ihomson's 4S75M l ProScan color monitor 

diagonal, .31mm-dot pitch tube with 
high-contrast glass that eliminates glare, 
thus increasing picture contrast; it also 
filters color input, thereby improving 
the reproducible color range. The 
4375M uses a multistep electron gun to 
automatically adjust the focus across a 
range of resolutions from 300 by 500 
pixels to 800 by 560 pixels. $895. 
Thomson Consumer Products Corpora¬ 
tion, 5731 W. Slauson Avenue, Suite 
111, Culver City, CA 90230; 
800/325-046; in California, 
213/568-1002 

CIRCLE 309 ON READER SERVICE CARD 

Systems Manufacturing Technology', Inc. 
has introduced the UltraGraph, a 
graphics adapter that uses the Intel 
82786 graphics coprocessor. The Ultra- 
Graph will process graphics at speeds 
up to 20 million pixels per second. The 
adapter offers a resolution of 2,048 by' 
2,048 pixels, 4MB of display memory', 
256 colors, and 40-column-bv-25-line 
and 80-column-bv-25-line alphanumeric 
and all-points-addressable modes, in¬ 
cluding the IBM CGA, EGA, and PGC 
and two settings between the PGC and 
the 2,048-bv-2,048 mode. $2,500. 

Systems Manufacturing Technology, 

Inc., 1145 Linda Vista Drive, San Mar¬ 
cos, CA 92069-3820; 800/648-6262; in 
California, 619/744-3590 

CIRCLE 311 ON READER SERVICE CARD 

Two workstations designed to merge ar¬ 
tificial intelligence with commercial in¬ 
formation processing and based on the 
Intel 80386 have been announced by 
Mad Intelligent Systems, Inc. The 
D3000 series is a family of PC/AT-com- 
patible systems and board-level prod¬ 
ucts that use the Intel 82786 graphics 
coprocessor. The D3000 will run pro¬ 
grams written for DOS; it can be config¬ 
ured with UNIX V release 3. The system 
has seven expansion slots, room for two 
removable media devices, and one full- 
height fixed media device. The D3000 is 


32 


PC TECH JOURNAL 















Orchid Technology's Jet JH6 16-MI/z accelerator hoard 96 OO/V.JJ Trellis modem from Cermetek Microelectronics 


available in OEM quantities. The D2000 
series is based on a Multibus II architec¬ 
ture; it runs both UNIX V release 3 and 
Common Lisp. The product line in¬ 
cludes a single-user system featuring a 
high-resolution display with advanced 
windowing capabilities and a multi¬ 
access knowledge server and a multi¬ 
user computer. D3000, $5,000 to 
$10,000; D2000, prices are not yet 
available from the company. 

Mad Intelligent Systems, 2950 Zanker 
Road, San Jose, CA 95134; 
408/943-1711 

CIRCLE 302 ON READER SERVICE CARD 

An 80386-based system has been re¬ 
leased by Zenith Data Systems. The 

Z-386 PC has a 32-bit memory bus and 
operates at 16 MHz with zero wait 
states. It features memory paging, burst¬ 
mode refresh, which increases system 
speed by refreshing multiple rows of 
memory at once; optional cache control¬ 
ler board; and Zenith ROM for video 
operations (for speed). The Z-386 PC 
has 10 bus slots (six open), a diskette/ 
Winchester controller, serial and paral¬ 
lel ports, and sockets for 80287 or 
80387 numeric coprocessors; it will sup¬ 
port two Winchester disks and two dis¬ 
kette drives. Z-386 Model 40 (with 40MB 
hard-disk drive and 1.2MB diskette 
drive), $6,499; Z-386 Model 80 (with 
80MB hard disk drive), $7,499. 

Zenith Data Systems, 1000 Milwaukee 
Avenue, Glenview, II 60025; 
312/391-8860 

CIRCLE 303 ON READER SERVICE CARD 

Orchid Technology has introduced 
Jet 386, a 16-MHz 80386 accelerator 
board. Designed for the PC/AT, Jet 386 
is compatible with software written for 
both the 80286 and 80386. The Jet 386 
board replaces the 80286 in the AT, 
which then plugs into an adapter for the 
accelerator board. Users can toggle be¬ 
tween the two modes. The Jet 386 also 
supports both 80287 and 80387 numeric 


coprocessors. A 32-bit bus width and 
64KB of on-board cache memory are 
also included. $1,499. 

Orchid Technology, 47790 Westing- 
house Drive, Fremont, CA 94539; 
415/490-8586 

CIRCLE 304 ON READER SERVICE CARD 

An 80386 accelerator board for the PC, 
PC/XT, and PC/AT is available from 
Applied Reasoning Corporation. The 
PC-elevATor 386 runs in an 8088, 

8086, or 80286 machine. It runs an Intel 
80386 at a 16-MHz, zero wait state, with 
a 32-bit bus, and includes 1MB of on¬ 
board, high-speed RAM (100 nanosec¬ 
onds) expandable to 16MB with daugh¬ 
terboards. An 80287 or 80387 numeric 
coprocessor can be added. The board 
installs into a full expansion slot without 
removing the machine's processor; it 
works in tandem with the processor, us¬ 
ing it to handle I/O. $1,995. 

Applied Reasoning Corporation, 86 
Sherman Street, Cambridge, MA 02140; 
617/492-0700 

CIRCLE 305 ON READER SERVICE CARD 


Sigma Designs, Inc. has announced 
Laserview Display System, a package 
that includes a high-resolution adapter 



Izisert'iew Display System by Sigma Designs. Inc 


board and a 15-inch or 19-inch mono¬ 
chrome monitor both w ith a display of 
1,664 dots by 1,200 lines. Both are land¬ 
scape-mount and have paper-white 
phosphor screens. They feature a scan 
frequency of 74.5 KHz and a refresh rate 


of 60Hz, in noninterlaced mode. The 
resolution provided by the 15-inch and 
19-inch monitors is 150 and 110 dpi 
(dots per inch) respectively. This resolu¬ 
tion combines with four shades of gray 
to produce a perceived resolution that 
is close to 300 dpi. Adapter with 19-inch 
monitor, $2,395; with 15-inch monitor, 
$1,895; adapter alone, $1,150. 

Sigma Designs, Inc., 46501 landing 
Parkway, Fremont, CA 9453d; 

415/770-0100 

CIRCLE 317 ON READER SERVICE CARD 

Cermetek Microelectronics has an¬ 
nounced its 9600/V.32 Trellis Modem. 

The CCITT V.32 specification permits 
9600-bps operation at full duplex over a 
wide range of telephone lines present 
in the general switched telephone net¬ 
work. The V.32 modem offers synchro¬ 
nous and asynchronous operation. Dur¬ 
ing dialing, the modem can monitor call 
progress electronically with either ver¬ 
bose or terse prompts, or audibly with a 
built-in speaker. Another dialing en¬ 
hancement includes resident nonvolatile 
memory for ten 40-character telephone 
numbers. It supports the GSTN (general 
switched telephone network) and 2- or 
4-wire, leased-line operation and offers 
more reliable data transfer than certain 
CCITT V.29, 9600 half-duplex modem 
installations. Trellis coding is a far-end 
correcting scheme that transmits redun¬ 
dant bit information simultaneously with 
the data bits. This scheme provides the 
error correcting and is accomplished 
without impacting the 9600- or 4800-bps 
data rate bandwidth. $2,999. 

Cermetek Microelectronics, Inc., 1308 
Borregos Avenue, Sunnyvale, CA 94088- 
3565; 408/752-5000 

CIRCLE 318 ON READER SERVICE CARD 

Two internal modems, the Quad 1200 
and Quad 2400, are the first offerings 
of Omnitel, Inc. in its NetComm 

product line. This series is designed for 
use in LANs and PC-based remote infor- 


FEBRUARY 198' 


33 















TECH RELEASES 



Magic PC applications generator from Aker Corporation 

mation and database services. A modem 
server based on the Quad card provides 
pooling of 4, 8, 16, or more indepen¬ 
dently addressable modems for shared 
access by all LAN users. With a Quad 
board and a PC/AT, users can set up 
their own dial-in information services. 
Quad and dual configurations are avail¬ 
able for 1200-bps and 2400-bps speed. 
The Quad modem board may be used 
with multiuser systems based on the AT, 
PC/XT, and the RT PC using XENIX, AIX, 
PC/EX, or other UNIX software. Quad 
1200, $1,249; Quad 2400, $1,799. 
Omnitel, Inc., 5415 Randall Place, Fre¬ 
mont, CA 94538; 800/654-2785; in Cal¬ 
ifornia, 800/233-2202 

CIRCLE 308 ON READER SERVICE CARD 

Dastra America’s MU/FO is a multi¬ 
user office hardware/software package 
that supports as many as nine users on a 
single PC/XT or PC/AT. The RAM-resi¬ 
dent assembly code operating system al¬ 
lows users to input data, create reports, 
and perform and develop application 
programs simultaneously. Three-, five-, 
and nine-user systems are available. 
MU/FO contains conversion utilities for 
Ashton-Tate’s dBASE n and dBASE m file 
importation. Other features include rec¬ 
ord lockout, automatic backup, and 16 
password security levels. In its maxi¬ 
mum configuration, the system supports 
eight terminals and printers, six hard 
disks, and a tape drive. DOS programs 
cannot be run concurrently with MU/ 

FO. Prices range from $249 to $1,395. 
Dastra America, 976 N. Lemon, Orange, 
CA 92667; 800/843-5087; in California, 
714/633-2275 

CIRCLE 316 ON READER SERVICE CARD 

GammaLink has announced that its 
GammaFax, a PC-to-facsimile commu¬ 
nications package that enables PC users 
to send documents directly from PCs to 
any CCITT group 3 facsimile machine, 
now offers a high-speed, PC-to-PC file 
transfer capability. The enhanced 



MU/FO, a multiuser office system from Dastra America 


GammaFax package allows users to 
send DOS files, including ASCII docu¬ 
ments, over telephone lines at speeds as 
high as 9,600 bps. GammaFax can route 
multiple documents in a single trans¬ 
mission, transmit combinations of docu¬ 
ments to different sites, store and for¬ 
ward, and broadcast documents to dif¬ 
ferent sites. $995. 

GammaLink, 2452 Embarcadero Way, 
Palo Alto, CA 94303; 415/856-7421 

CIRCLE 312 ON READER SERVICE CARD 

FX-BM88 Facsimile Board, an add-on 
card from Panasonic Industrial Com¬ 
pany, allows microcomputers to send 
and receive documents to and from 
CCITT group 3 facsimile machines. With 
the FX-BM88, the user can edit and send 
a file or scanned image to a facsimile 
machine; a document received from a 
facsimile machine can be viewed and 
edited on screen, then output to a dot¬ 
matrix or laser printer. $1,000. 
Panasonic Industrial Company, One 
Panasonic Way, Secaucus, NJ 07094; 
201/348-7000 

CIRCLE 313 ON READER SERVICE CARD 

Corvus Systems, Inc. has announced a 
high-performance file server that em¬ 
ploys the Intel 80386. The Series 80386 
consists of a PC/AT-compatible work¬ 
station, 2.5MB of RAM, and the choice of 
a 70MB or 126MB hard-disk drive. The 
Series 80386 uses a 32-bit bus with eight 
expansion slots when running Novell 
Advanced NetWare 2.0a. With 70MB, 
$16,595; 126MB, $19,795. 

Cowus Systems, Inc., 160 Great Oaks 
Blvd., San Jose, CA 95119-1347; 
408/559-7000 

CIRCLE 306 ON READER SERVICE CARD 

PLUS4, an expansion subsystem that al¬ 
lows users to create microcomputer 
clusters of five users has been intro¬ 
duced by Alloy Computer Products, 
Inc. A complete five-user system built 
using PLUS4 requires only one host 


computer equipped with a hard disk 
and four terminals. PLUS4 includes 
NTNX Novell-compatible multiuser sys¬ 
tem software, tape backup, and four Al¬ 
loy pc-slave/16 boards that provide each 
user with an individual NEC V20 proces¬ 
sor and 1MB of memory. $5,495. 

Alloy Computer Products, Inc., 100 
Pennsylvania Avenue, Framingham, 

MA 01701; 617/875-6100 

CIRCLE 307 ON READER SERVICE CARD 

Epson America, Inc. has entered the 
laser printer market with the GQ-3500. 
The printer comes equipped with 
640KB of memory and has a second 
generation engine that make possible 
the compact size of the printer (15.9 by 
8.5 by 16.5 inches). The GQ-3500 fea¬ 
tures a 45-second warm-up time and a 
first-page-printing time of between 22 
and 25 seconds with an overall speed of 
six pages per minute. Users have access 
to seven built-in fonts by pushing a but¬ 
ton on the control panel. The printer 
engine’s life is rated at 180,000 pages. 
GQ-3500, $2,495; toner cartridge, $29. 
Epson America, Inc., Computer Products 
Division, 2780 Lomita Blvd., Torrance, 
CA 90505; 800/421-5426; in California, 
213/539-9140 

CIRCLE 320 ON READER SERVICE CARD 


SOFTWARE 

Aker Corporation has introduced an 
application generator, called Magic PC, 
that requires no programming language 
to design applications. The entire pro¬ 
cess of implementing an application 
with Magic PC is one of filling in execu¬ 
tion tables and data dictionaries. The de¬ 
signer interfaces with these tables by 
highlighting selections from pop-up, 
menu-driven windows. Each entry in the 
execution table is an operation that ma¬ 
nipulates data in a true, relational data¬ 
base environment. A zooming capability 
allows the applications user to probe 


34 


PC TECH JOURNAL 














BOOKMARK ™ Data Protection Software 

Automatically marks your place so you can resume where you left off. 

Runs with most software so if you decide to call it a day you can power down, and upon restart 
BOOKMARK will bring you back where you left off...it’s like having a BOOKMARK in your computer! 

Stop wasting time navigating through menus . . . or teaching novices. 

Easy to use. You choose how often work is saved, by number of keystrokes or length of time. 

Work in progress can be resumed within seconds after system crash, power failure, accidental 
reset or power down. 

Costly battery backup systems are no longer needed when work in progress is already saved to the 
point of the previous BOOKMARK placement. 

BOOKMARK is a memory-resident utility that automatically and periodically saves work in 
progress to a reserved area of the hard disk. 

Suggested Retail Price $69.95 Requirements: 

IBM PC/XT/AT or 100% Compatible 
64k to 640k 

IBM DOS 2.1 or Higher 

1 Floppy Disk Drive • Hard Disk Drive (10 Megbytes Minimum)* Video Display Adapter, IBM (Monochrome, Color, Enhanced Color). Hercules, AST 
(BOOKMARK occupies an equivalent space on hard disk as in system RAM plus video RAM) 


To Order, Call INTELLISOFT International or Ask Your Dealer for BOOKMARK 

INTELL.ISOFT 



IIMTERIMATIOIMAL 

Call Toll Free (800) 544-MARK • In California Call Toll Free (800) 543-MARK 
70 Digital Drive • P.O. Box 1972-Novato, California 94948-(415) 883-1188 

BOOKMARK™ is a trademark of INTELLISOFT International. Copyright© 1986 by INTELLISOFT International. All rights reserved. 

IBM PC/XT/AT are registered trademarks of International Business Machines Corporation. Hercules is a trademark of Hercules Computer Technology. 
AST is a registered trademark of AST Research, Inc. 


CIRCLE NO. 114 ON READER SERVICE CARD 






TECH RELEASES 



Graph produced by Borland's Numerical Method Toolbox DESQview from Quarterdeck Office Systems 


deep into the application through 
nested windows. Magic Run enables 
stand-alone operation at runtime. Magic 
PC Trial (limited to 100 records), 

$19.95; Magic PC (with unlimited users 
in a LAN), $695; Magic Run, $95 each 
(available in two-packs only). 

Aker Corporation, 18007 Skypark Circle 
Drive, Suite B2, Innne, CA92714; 
714/250-1718 

CIRCLE 330 ON READER SERVICE CARD 

Microsoft Corporation and Phoenix 
Technologies Limited have an¬ 
nounced agreements to strengthen 
Phoenix’s custom OEM-level engineer¬ 
ing support of Microsoft’s systems soft¬ 
ware, including MS-DOS, XENIX System 
V/386, and Windows. Under the terms of 
the agreement Phoenix will develop its 
80386-based VP/ix virtual PC environ¬ 
ment for Microsoft’s XENIX System 
V/386 multiuser operating system, and 
license MS-DOS 3-2 from Microsoft and 
offer it to Phoenix’s VP/ix OEM custom¬ 
ers as part of the VP/ix offering. Prices 
are unavailable. 

Microsoft Corporation, 16011 N.E. 36th 
Way, P.O. Box 97017, Redmond, WA 
98073-9717; 206/882-8080 

CIRCLE 325 ON READER SERVICE CARD 

Phoenix Technologies Limited, 320 Nor¬ 
wood Park S, Norwood, MA 02062; 
617/769-7020 

CIRCLE 326 ON READER SERVICE CARD 

A BASIC language development environ¬ 
ment, Turbo Basic, has been an¬ 
nounced by Borland International. 

Turbo Basic offers full 8087/80287 nu¬ 
meric coprocessor support, which gen¬ 
erates in-line coprocessor instructions. 
Built-in conversion functions take 
BASICA floating-point data and convert 
it to IEEE floating-point format. Pro¬ 
grams that use integer mathematics have 
a 32-bit-long integer data type. Other 
features include pull-down menus; con¬ 
text-sensitive help; and window manage¬ 
ment (including user-controllable size, 


color, and placement), with separate 
windows for editing, messages, tracing, 
and program execution. The compiler, 
editor, and executable programs are 
fully integrated and the program text 
can be output either to a window or to 
the full screen. $99.95. 

For engineers and scientists, Bor¬ 
land has introduced Eureka: The 
Solver, a software tool for problem 
solving. The user writes an equation, 



Menu screen from Borland’s Eureka. The Solver 

sets options, and instructs the software 
to solve the problem. The package also 
evaluates and displays the accuracy of 
the solution. Equations, solutions, and 
evaluations are accessible through sepa¬ 
rate windows on the computer screen. 
Eureka: The Solver fully supports the 
8087 numeric coprocessor. $99.95. 

Numerical analysis is addressed in 
Borland’s Numerical Methods Tool¬ 
box. This package is a collection of 
Turbo Pascal routines and programs, 
each with an accompanying demonstra¬ 
tion program example. Comprised of 10 
modules, the Toolbox provides the fol¬ 
lowing number-crunching abilities: End¬ 
ing solutions to equations, interpola¬ 
tions, calculus with numeric derivatives 
and integrals, matrix operations includ¬ 
ing inversions, determinants, eigen¬ 
values, differential equations, least- 
square approximations, and fast Fourier 
transforms. The generic procedures 
contained in each module can be modi¬ 


fied and included in the user’s own pro¬ 
grams. Complete source code is in¬ 
cluded with the Toolbox. $99.95. 
Borland International, 4585 Scotts Val¬ 
ley> Drive, Scotts Valleys CA 95066; 
408 / 438-8400 
CIRCLE 321 ON READER SERVICE CARD 

Quarterdeck Office Systems has in¬ 
corporated virtual 8086 machine archi¬ 
tecture support for the Compaq Desk- 
pro 386 into DESQview 1.3, a multi¬ 
tasking operating environment. The vir- 
tual-86 mode permits 8088/86 code to 
be executed within the protected and 
paged environment provided by the 
80386 and permits these programs to 
run simultaneously, as if they were in 
their own 1MB machine. DESQview 1.3 
also improves the efficiency of high¬ 
speed—4800 or 9600 bps—communica¬ 
tion programs running in DESQview. To 
be released in February is version 2.0 
of DESQview, which will increase the 
capabilities of 1.3 as well as add En¬ 
hanced Graphics Adapter (EGA) support 
and a DESQview Application Program 
Interface. Also, a runtime version will be 
available in conjunction with release 2.0. 
DESQview 1.3, $99-95; 1.21 upgrade to 
1.3, $19.95; DESQview 2.0, $129.95; 1.3 
upgrade to 2.0, $30.00. 

Quarterdeck Office Systems, 150 Pico 
Blvd., Santa Monica, CA 90405; 
213/392-9851 

CIRCLE 324 ON READER SERVICE CARD 

Version 3.1 of watcom BASIC, a lan¬ 
guage interpreter, is now available from 
watcom Products, Inc. Enhanced fea¬ 
tures include: the watcom Graphics Ker¬ 
nel System (GKS), indexed file process¬ 
ing, additional capability for parameters 
of procedures and functions, and sev¬ 
eral business and scientific program ap¬ 
plications. $250. 

watcom Products, Inc., 415 Phillip Street, 
Waterloo, Ontario, Canada N2L 3X2; 
519/886-3700 

CIRCLE 327 ON READER SERVICE CARD 


36 


PC TECH JOURNAL 



























I JIASKR PLUS 
with combination 
interface? 


Other ingred 

1 PC, XT, or AT st 
computer 

l Canon-ha sed 30l 

1 Canon IX-I2.W 


It makes desktop publishing 
a piece of cake! 


Tall Tree Systems 
introduces another 
breakthrough in desk¬ 
top publishing with 
JLASER PLUS. We've 
combined a 2 MB 
EMS memory board 
and an interface to 
both a Canon®-based 
laser printer and 
scanner. JLASER PLUS 
increases the perfor¬ 
mance of both devices 
and gives you a low- 
cost solution to the 
limitations you've been 
experiencing with 
them. 


Furthermore, the 
same memory that is 
made available to 
your printer and scan¬ 
ner is also available for 
all your other conven¬ 
tional applications. 

You get system mem¬ 
ory, expanded LIM 
memory, extended 
memory in an AT-type 
machine, RAM Disk 
and print spooler — 
all in a single slot! 

Supporting JLASER 
PLUS is a host of soft¬ 
ware packages, such 
as PC Paintbrush + 


Tall Tree 
Systems to 
provide a mayor 
advancement like 
JLASER PLUS. And 
we don't stop at 
performance. We also 
deliver value, which is 
truly icing on the cake. 


from 
ZSoft, 

Dr. Halo D.P.E. 
from Media Cyber¬ 
netics, LaserGL from 
Software Express, 

Ventura Publisher from 
Xerox, Page Builder 
from White Sciences, 

Le Print from Le Baugh 
Software, Fancy Font 
and Fancy Word from 
SoftCraft, Inc., and 

Canon is a registered trademark of Canon, Inc. Ail software packages listed are trademarks of their respective companies. 


TALL TREE SYSTEMS 

1120 San Antonio Road 
Palo Alto, CA 94303 
(415) 964-1980 


many more 
to be announced. 

It takes a techno¬ 
logical innovator like 


CIRCLE NO. 194 ON READER SERVICE CARD 


© 1986 by Tail Tree Systems. All rights reserved. 
















LaserControlfrom Insight Dei'elopment Corporation 


Screen sfjot from T&W Systems’ VersaCAD DESIGNER 

Intel Corporation has extended its 
software development support of the 
80386 system to PC hosts with the intro¬ 
duction of a C language compiler and 
utilities package for the PC/AT running 
DOS 3.0 or later. The C 386 Compiler 
and the RLL 386 Relocation, Linkage, 
and Library Tools package are the in¬ 
dustry’s first development tools for PC 
hosts. The DOS tools can be used on 
stand-alone PCs and on PCs linked via 
the Intel OpenNET network with other 
PCs or with VAX and MicroVAXT com¬ 
puters. C 386, $900; RLL 386, $600. 

Intel Corporation, Literature Depart¬ 
ment W338, 3065 Bowers Avenue, P.O. 
Box 58065, Santa Clara, CA 95052- 
8065; 503/681-2279 

CIRCLE 323 ON READER SERVICE CARD 

Corvus Systems, Inc. has released a 
network operating system for its Omni- 
net LAN. Designated PC/NOS, it permits 
networks to be created without hie serv¬ 
ers, but still supports the PC-DOS 3.1 
hie- and record-locking calls. PC/NOS 
has complete access security control for 
nodes, peripherals, directories, and hies. 
When hie servers are needed, PC/NOS 
supports multiple servers. For 64 
users, $695. 

Corvus Systems, Inc., 160 Great Oaks 
Blvd., San Jose, CA 95119-1347; 
408/559-7000 

CIRCLE 322 ON READER SERVICE CARD 

BABY/36 from California Software 
Products, Inc., now permits develop¬ 
ment and execution of RPG II programs 
on the PC and PC networks. Release 
3.4 updates the product to the latest 
version of IBM’s System/36 operating 
system: System Support Program (SSP) 
4.0. Included are new conditional oper¬ 
ations and program loops: CASE, DO, 
DO.. .UNTIL, DO.. .WHILE, and 
IF.. .THEN.. .ELSE. Stand-alone systems 
range from $700 for execution-only ver¬ 
sions to $3,500 for complete RPG II de¬ 
velopment and execution systems. LAN 


versions range from $1,500 to $4,500, 
plus $100 per linked device; upgrades at 
no charge to existing customers. 
California Software Products, Inc., 525 
N. Cabrillo Park Drive, Santa Ana, CA 
92701; 714/973-0440 

CIRCLE 328 ON READER SERVICE CARD 

T&W Systems, Inc. has announced a 
complete design station, VersaCAD 
designer. Together with the power of 
VersaCAD 5.0, VersaCAD designer offers 
three-dimensional design, color shad¬ 
ing, automatic extrusion, a variety of dis¬ 
play modes, built-in primitives, and 
complete programmability. All designs 
can be moved between two- and three- 
dimensional models using a single main 
menu. VersaCAD designer offers two- 
way communications links to other soft¬ 
ware using recognized standards of 
protocol. $2,995. 

T&W Systems, Inc., 7372 Prince Drive, 
Suite 106, Huntington Beach, CA 
92647; 800/228-2028, ext. 85; in Cali¬ 
fornia, 714/847-9960 

CIRCLE 331 ON READER SERVICE CARD 

An application development environ¬ 
ment for the Intel 80386, Merge 386 
has been announced by Locus Com¬ 
puting Corporation. Merge 386 allows 
the system to simultaneously, and trans¬ 
parently, execute both UNIX and DOS 
operating systems. Users can have sev¬ 
eral DOS and UNIX programs executing 
concurrently. Other benehts included 
are password security and hie protec¬ 
tion for DOS, record-level access to the 
same hies by both operating systems, 
UNIX programs invocable from DOS 
programs, named-pipe support for inter¬ 
process communication between UNIX 
and DOS, and DOS programs transpar¬ 
ently invocable from UNIX programs. 
Merge 386, $500. 

Locus Computing Corporation, 3330 
Ocean Park Blvd., Santa Monica, CA 
90405; 213/452-2435 

CIRCLE 335 ON READER SERVICE CARD 


Version 2.2 of LaserControl, a utility 
package for Hewlett-Packard laser print¬ 
ers, is available from Insight Develop¬ 
ment Corporation. LaserControl en 
ables the HP LaserJet to work with most 
IBM PC software. The program provides 
seven printer emulations: Diablo 630; 
Qume Sprint 5; NEC 3550, 5510, and 
7710; Epson MX-80; and IBM Graphics 
Printer. This program allows any soft¬ 
ware that supports these printers to be 
used with the HP LaserJet. Besides 
printer emulation, LaserControl pro¬ 
vides menu-driven control of the laser 
printer. Through the menu, users can 
choose the page layout, fonts, margins, 
number of lines per page, paper size, 
paper tray, and other options. Laser- 
Control can be utilized as a memory- 
resident, pop-up program or a standard 
DOS application. $150. 

Insight Development Corporation, 1024 
Country Club Drive, Suite 140, Moraga, 
CA 94556; 415/376-9451 

CIRCLE 332 ON READER SERVICE CARD 

Prospero Software has made available 
Pro Fortran-77, which is a complete 
implementation of the ANSI X3.9-1978 
standard, generally referred to as 
FORTRAN 77. The software consists of 
the compiler, runtime libraries, link edi¬ 
tor, librarian program, conhguration 
utility, and symbolic debugger. The two- 
pass compiler converts a source hie 
containing one or more program units 
into binary machine code in standard 
Intel object format. Runtime libraries 
contain the routines needed to support 
execution of object programs. The li¬ 
braries are provided in versions for 
small and large models, with and with¬ 
out the use of an 8087 numeric copro¬ 
cessor. Pro Fortran-77, $149. 

Prospero Software, 190 Castelnau, Lon¬ 
don SW13 9DH, England; 011-441-741 
8531 • U.S. Distributor: Software Consult¬ 
ing Sendees, 3162 Bath Pike, Nazareth, 
PA 18064; 215/837-8484 

CIRCLE 338 ON READER SERVICE CARD 


38 


PC TECH JOURNAL 












Illlll 



TALL TREE SYSTEMS. 

A Technological Innovator 
Always a Step Ahead! 


For true industry leader- command EMS boards, 
ship, look no further than The first with a laser printer 
Tall Tree Systems. solution — JLASER — that 

We have a history of allows you to do full-page 
being first. graphics and multiple type 

We were the first to fonts on any Canon® or 
introduce bankswitching. Ricoh® laser engine. 

The first with two megabyte 
memory boards. The first > 

with I/O modularity in a f A \ 
single slot. The first with . _ 

8 MHz speed capabilities. ■m-f\SSS2 7ALL * 

The only maker of single 1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980 

CIRCLE NO. 197 ON READER SERVICE CARD 

© 1986 by Tall Tree Systems. All rights reserved. IBM. RT are registered trademarks of International Business Machines Corp. 
Canon and Ricoh are registered trademarks of Canon Corp. and Ricoh Corp., respectively. 


Now, we're first again 
with memory expansion for 
the IBM®RT. 

Innovation is our tradition. 

Our trademark is supe¬ 
rior technology at the lowest 
possible price. 



































TECH RELEASES 



dBXL, WordTech Systems' database manager 


A menu-driven, hard-disk-based total 
system manager called SNAP has been 
introduced by the Mt. Whitney Group. 
This product boasts over 200 features 
that give the user the functions of many 
programs executable in one or two key¬ 
strokes. SNAP allows the user to create 
unlimited, customized windows that can 
be deeply nested. Menus can be se¬ 
lected (alphabetically or free-form), 
mixed, and moved; password protection 
can be given to any menu or menu 
item. SNAP will copy, delete, move, ren¬ 
ame, format, sort, view, edit, tag, untag, 
encode, or decode any hie in any direc¬ 
tory on any drive. Complete editing and 
printing features are included as well as 
high-speed viewing and auto-scrolling. 
SNAP analyzes a system’s hardware and 
will display more than 35 drive and 
computer statistics. $99 
Mt. Whitney Group, 11612 Knott Ave¬ 
nue,, Building G-19, Garden Grove, CA 
92641; 800/992-4992 , in California, 
800/624-7355 

CIRCLE 333 ON READER SERVICE CARD 

A true, three-dimensional design and 
drafting package is being offered by 
CalComp Systems Division Solid • 
Vision allows users to design in three 
dimensions and revise that design as of¬ 
ten as necessary; it also provides the 
ability 7 to see a design in plan, elevation, 
section, or perspective and to produce 
drawings, model design, and presenta¬ 
tion images—all from one model. Solid 
Vision uses boundary representation 
and boolean technology. All coordinate 
data are stored in floating-point format, 
providing six digits of numerical accu¬ 
racy. Stand-alone, $3,500; bundled with 
cadvance, $4,995. 

CalComp also is offering version 
1.3 of cadvance, a two-dimensional 
CAD system. Added features include full 
digitizer tablet menu support, enhance¬ 
ments to cadvance’s Macro Program¬ 
ming Language, application specific 
commands, and inclusion of the pre- 



Design created using CalComp's CAD package, Solid Vision 


viously optional 3D projections, which 
allows the user to produce oblique, 
isometric, and perspective projections 
quickly and automatically. $2,500. 
CalComp Systems Division, 2411 W. In 
Palma Avenue, Anaheim, CA 92801; 
714/821-2142 

CIRCLE 329 ON READER SERVICE CARD 

Micro Data Base Systems, Inc. 

(mdbs) has made available version 
1.1 of its expert system environment, 
GURU. The enhanced expert system ca¬ 
pabilities of GURU allow users to pro¬ 
cess mdbs’s KnowledgeMan/2 and Ash¬ 
tonTate’s dBASE ii or dBASE m plus hies as 
if they were GURU hies. GURU can ac¬ 
cess Lotus 1-2-3 spreadsheets directly as 
well. Other enhancements include 
GURU’s knowledge tree and case-saving 
features. The knowledge tree allows de¬ 
velopers to view a diagram of a rule set 
showing the relationships among vari¬ 
ables, rules, and goals. The case-saving 
feature allows developers to save (and 
later replay) expert system consulta¬ 
tions. Version 1.1 allows multiple hring 
of rules within the same consultation. 
Single-user system, $6,500; upgrades at 
no cost for purchases after November 1, 
1985, upgrades for purchases prior to 
November 1, 1985, $650. 

A//cro Data Base Systems, Inc., P.O. Box 
248, Lafayette, IN 47902; 

800/344-5832; in Indiana, 
317/463-2581 

CIRCLE 334 ON READER SERVICE CARD 

Opt-Tech Data Processing has intro¬ 
duced Opt-Tech Soft 3.0, a high-per¬ 
formance assembly language sort/ 
merge/select utility. Major added fea¬ 
tures include record selection, record 
reformatting, comma-delimited hies, 
support for AshtonTate’s dBASE m, dy¬ 
namic memory allocation, alternate col¬ 
lating sequences, expanded hie options, 
unlimited number of input hies, and 
new parameter options. Opt-Tech Sort 
is callable from 25 languages or can be 


run as a DOS utility (either stand-alone 
or batch hie). Version 3.0 supports un¬ 
limited hie sizes of most types including 
hxed length, variable length, random, 
dBASE, and Btrieve. $149. 

Opt-Tech Data Processing, P.O. Box 678, 
Zephyr Cove, NV 89488; 702/588-3737 

CIRCLE 339 ON READER SERVICE CARD 

A version of the theos multiuser, multi¬ 
tasking operating system for the Intel 
80386 has been released by theos. 
theos 386 will initially address up to 
16MB of memory and support 32 users 
in a multiuser environment. THEOS is 
complemented by comprehensive 
BASIC, C, and assembly languages. The 
languages feature a bridge allowing soft¬ 
ware developed under one micropro¬ 
cessor version of theos to be translated 
and run under newer theos versions, 
including theos 386. 

THEOS, 201 Lafayette Circle, Suite 100, 
Lafayette, CA 94549-4370; 
415/283-4290 

CIRCLE 336 ON READER SERVICE CARD 

A work-alike to AshtonTate’s dBASE m 
plus has been announced by WordTech 
Systems. The dBXL database manager, 
which is not copy protected, offers full 
hie syntax compatibility with dBASE m 
plus and brings new commands to the 
dBASE language, thus allowing users to 
create true windows within their pro¬ 
grams. Other features include DOS 
compatibility, an improved user inter¬ 
face, a menu-driven assist feature, and 
several levels of on-line help. WordTech 
has assembly code compiler and hie 
server support for dBXL. $169. 

WordTech Systems, Inc., P.O. Box 1747, 
21 Altarinda Road, Orinda, CA 94563; 
415/254-0900 

CIRCLE 337 ON READER SERVICE CARD 1 "limimi ffi] 


The material that appears in Tech Releases is 
hosed on vendor-supplied information. These 
products have not been reviewed by the PC 
Tech Journal editorial staff. 


40 


PC TECH JOURNAL 
















Your Quality Connection 



•III V; V;Vj 








When you need programmer's development 
tools, Programmer's Connection is your 
best one-stop source. We’ve specialized 
in development software for IBM personal 
computers since 1984 and are experienced 
in providing a full range of quality products j 
and customer services. 

Unbiased Advice. Our friendly^ non¬ 
commissioned salespeople are always 
prepared to assisf^ou. We alshbave 
experienced technical consultants who 
can answer questions, help you compare 
products and send youidetailed product 
information tailored to your needs. Since 
we’re not affiliated withany software 
publisheror manufacturer, we'll give you 
an unbiased look at the products we carry. 

High Quality. We stock hundreds of high 
quality software development tools 
specifically for IBM personal computers 
and compatibles. And as new products 
become available, well sell only those 
that meet our high standards for quality 
and value. 


Wlaradacl^^ ^Mteftfcar.odu cts we 
sell are the latest versions and come with 
the same t echnica l support as if buying 
d i rectly+rd m'th eYtrarn uf actu 

Return Guarantees. Our goal js customer 
satisfaction and that's why we offer a 
30-day documentation evaluation period 
ora 30-day return guarantee on most of our 
products. Please call for specific details. 

Immediate Shipment. Most products are 
in stock and are ready for shipment from 
our large inventory. 

Discounts. You'll save money on all of your 
software purchases from Programmer's 
Connection. Our ads show both the discount 
and retail prices m each product so you'll 
always know exactly how much you'll save. 


FI 









Credit Cards. We'll charge your credit 
card at the time we ship your order. Other 
companies may charge your credit iard 
at {he time they take your order so they 
can use your money interest-free while 
yeti wait for your shipment. 


FREE Shipping. Shipping is FREE j fatnu 
have your order shipped via standard 
UPS anywhere in the USA. We can also 
express your order to you with no special 
fees and we'll only charge you die Shipping 
carrier's standard rate. Many other 
companies profit from overcharges plus 
special fees for express shipments. 

No Sales Tax. Customers outside of, 
are not charged state sales tax*, 

No Hidden Charges. Quite simply, the 
prices you see on die next two pages are 
all you pay. We don't charge extra for 
standard UPS shipping, crejplfrds, 

COD orders, purchase orders or 




When youbuyfrom Progragjier'sf^ 
Connection, you get all of the benefits v 
of buying directly from the manufacturer 
and none of the drawbacks. So call us 
today and discover the advantages of . w 
our one-stop service for yourself. Yow|l 
be glad you did! 



Turn the page for our latest advertised 
; price list and ordering information. 
















Sale prices effective through 2/28/87. 


apl language 

APL*PLUS/PC by STSC . 595 429 

APL * PLUS/PC Spreadsheet Mgr by STSC . 195 139 

APL*PLUS/PC Tools Vol 1 by STSC .... 295 199 

APL*PLUS/PC Tools Vol 2 by STSC . . . . 85 59 

APL*PLUS/UNX For AT XENIX by STSC . . . 995 695 

Btrieve ISAM File Mgr by SoftCraft . 245 194 

Financial/Statistical Library by STSC . . . 275 195 

Pocket APL by STSC . 95 69 

STATGRAPHICS by STSC . 795 579 

artificial intelligence 

1 st - Class by Programs in Motion . 495 399 

APT from Solution Systems . 65 CALL 

Arity Combination Package. 1225 1139 

Expert System Development Pkg. . . . 295 259 

File Interchange Toolkit. 50 45 

PROLOG Compiler & Interpreter .... 795 699 

Screen Design Toolkit. 50 45 

SQL Development Package. 295 259 

Arity PROLOG Interpreter. 350 309 

Arity Standard Prolog. 95 79 

kuto\nte\\\qence by Intelligence Ware . 990 CALL 

ExpertEDGE Advanced by Human Edge . . . 2500 CALL 

ExpertEDGE Professional by Human Edge . . 5000 CALL 

Experteach II by IntelligenceWare . 475 359 

EXSYS Development Software by EXSYS . ... 395 319 

EXSYS Runtime System. New 600 479 

GCLISP Golden Common LISP by Gold Hill. . . 495 CALL 

GCLISP 286 Developer by Gold Hill . 11 90 CALL 

Insight 1 by Level Five Research . 95 75 

Insight 2+ by Level Five Research . 485 379 

Intelligence/Compiler IntelligenceWare .. . 990 749 

Logic-Line Series 1 by Thunderstone .... 90 85 

Logic-Line Series 2 by Thunderstone .... 125 115 

Logic-Line Series 3 by Thunderstone .... 150 139 

LPA microPROLOG by Prog Logic Systems . . 99 89 

with APES. 149 129 

LPA Professional microPROLOG. 395 339 

with APES. 650 469 

Microsoft LISP Common LISP . 250 163 

MPROLOG Language Primer LOGICWARENew 50 45 

MPROLOG P500 by LOGICWARE . New 495 395 

MPROLOG P550 by LOGICWARE . New 220 175 

PC Scheme by Texas Instruments . 95 85 

Personal Consultant Easy by Tl . 495 439 

Personal Consultant Plus by Tl . 2950 2599 

Personal Consultant Runtime. 95 85 

PROLOG-2 Interpreter by ESI . 450 419 

PROLOG-2 Interpreter and Compiler. . . . 895 839 

QNIAL by NIAL Systems . 375 349 

TransLISP from Solution Systems . 95 CALL 

Turbo PROLOG Compiler by Borland Inti. . . 100 65 

assembly language 

386 ASM/LINK Cross Asm by Phar Lap . . . 495 CALL 

8088 Assembler wlZ-80 Trans by 2500 AD. 100 89 

ASMLIB Function Library by BC Assoc .... 149 129 

asmTREE B Tree Dev System by BC Assoc. . . 395 339 

Cross Assemblers Various by 2500 AD . . . CALL CALL 

Microsoft Macro Assembler. 150 95 

Norton Utilities by Peter Norton . 100 59 

Turbo EDITASM by Speedware . 99 84 

Uniware Cross Assemblers Various by SDS 295 249 

Visible Computer: 8088 Software Masters . 80 65 


basic language 

BetterBASIC by Summit Software. 

8087 Math Support. 

Btrieve Interface. 

C Interface. 

Run-time Module. 

EXIM Services Toolkit by EXIM. 

Finally by Komputerwerks . 

Inside Track from Micro Help . . . 

MACH 2 by Micro Help . 

Microsoft QuickBASIC. 

87 QB Pak by Hauppauge . . . . 
Peeks 'n Pokes from MicroHelp . 
Professional BASIC by Morgan . 

8087 Math Support. 

Stay-Res by MicroHelp . 

True Basic w/BASICA Converter. . 
True Basic w/Converter & Run-time 

BASICA Converter. 

Run-time Module. 

Various Other Utilities . 

Turbo BASIC by Borland Inti . . . . 


blaise products 


►ASYNCH MANAGER Specify C or Pascal 

Sale 

175 

119 

►C TOOLS PLUS. 

Sale 

175 

119 

►EXEC Program Chainer . 

Sale 

95 

65 

►LIGHT TOOLS for Datalight C. . . . New, 

Sale 

100 

69 

►PASCAL TOOLS. 

Sale 

125 

85 

►PASCAL TOOLS 2. 

Sale 

100 

65 

►PASCAL TOOLS 8i PASCAL TOOLS 2 . 

Sale 

175 

99 

►RUNOFF Text Formatter . 

Sale 

50 

39 

►TURBO ASYNCH PLUS. 

Sale 

100 

69 

►TURBO POWER TOOLS PLUS. 

Sale 

100 

69 

►VIEW MANAGER Specify C or Pascal . . 

Sale 

275 

165 


borland products 

EUREKA Equation Solver . New 1 00 69 

REFLEX 8t REFLEX Workshop. 200 129 

REFLEX Data Base System . 150 89 

REFLEX Workshop. 70 45 

Turbo BASIC. New 100 69 

Turbo DATABASE TOOLBOX. 70 47 

Turbo EDITOR TOOLBOX. 70 47 

Turbo GAMEWORKS TOOLBOX. 70 47 

Turbo GRAPHIX TOOLBOX. 70 47 

Turbo LIGHTNING. 100 64 

Turbo Numerical Methods Library . . New 100 69 

Turbo PASCAL and TUTOR. New 125 85 

Turbo PASCAL with 8087 and BCD ... . 100 64 

Turbo TUTOR. 40 28 

Turbo Prolog Compiler. 100 64 

Word Wizard. 70 47 

Word Wizard and Turbo Lightning. 150 94 

C + + 

► C+ + by Guidelines w/kernel l.l .... Sale 195 169 

c compilers 

68000/10/20 Cross Compiler by SDS . . 595 CALL 

C86PLUS by Computer Innovations . . . . New 497 CALL 

► Datalight C Compiler Small Model . . . Sale 60 45 

►Datalight Developer Kit. Sale 99 69 


► with LIGHT TOOLS Blaise. ... New, Sale 239 168 

DeSmet C w I Debugger . 159 138 

DeSmet C w!Debugger & Large Case . 209 184 

Eco-C Development System by Ecosoft . 125 83 

Lattice C Compiler from Lattice . 500 275 

Mark Williams Let's C Combo Pack . New 125 99 

Let's C Compiler . 75 57 

csd Source Level Debugger . 75 57 

Mark Williams MWC-86 . 495 289 

► Microsoft C with CodeView . Sale 450 265 

► Wizard C Combo by Wizard Systems . . Sate 750 529 

► Wizard C Compiler. Sale 450 299 

► ROM Development Pkg. Sale 350 259 

cinterpreters 

► C-terp by Gimpel, Specify compiler .... Sale 300 199 

C Trainer with Book by Catalytix . 122 87 

► Instant C by Rational Systems . Sale 500 359 

Introducing C by Computer Innovations .... 125 CALL 

Run/C from Lifeboat . 150 89 

Run/C Professional from Lifeboat . 250 169 

c utilities 

► APT by Shaw American Technology .... Sale 395 259 

Basic C Library by C Source . 175 119 

► C Essentials by Essential Software . . . Sale 100 65 

C-ISAM by Informix . 225 195 

C to dBase by Computer Innovations . 150 CALL 

► c-tree 8t r-tree Combo by FairCom . . . Sale 650 459 

► c-tree ISAM File Manager . Sale 395 279 

► r-tree Report Generator . Sale 295 199 

► C Utility Library by Essential . Sale 185 119 

C Windows by Syscom . 100 85 

Wings by Syscom . 50 43 

Cl ROMPac by Computer Innovations . 195 CALL 

► dbQUERY All Varieties by Raima . Sale CALL CALL 

► dbVISTA Single-User DBMS by Raima. . . Sale 195 139 

► with Source Code . Sale 495 389 

► dbVISTA Multi-User DBMS by Raima . . . Sale 495 389 

► with Source Code . Sale 990 779 

dBx dBase/C Translator by Desktop Al . 350 314 

with Library Source Code . 550 493 

Entelekon Combo Package. 200 169 

C Function Library. 130 109 

C Windows. 130 109 

Superfonts for C. 50 43 

► Essential Comm Library wlDebugger . Sale 250 159 

► Breakout Debugger Any language ..Sale 125 79 

► Essential Comm Library. Sale 185 119 

Essential Graphics by Essential Software . . 250 195 

Flash-up Windows by Software Bottling. . . 90 79 

Graphic Mono v2.2 by Sci Endeavors . 280 209 

Graphic Color v3.0 by Sci Endeavors . 350 284 

GRAFLIB by The Librarian . 175 CALL 

Greenleaf Comm Library by Greenieaf ... 185 127 

Greenleaf Data Windows by Greenleaf . . . 225 157 

with Source Code . 450 295 

Greenleaf Functions by Greenleaf . 185 127 

HALO by Media Cybernetics . 300 209 

HALO Development Pkg for Microsoft . New 595 395 

The HAMMER by OES Systems . 195 149 

HELP/Control by MDS . 125 109 

MetaWINDOWS No Royalties . 185 115 

MetaFONTS. 80 58 

MetaWINDOWS/Plus by Metagraphics . . . 235 189 

MetaFONTS/Plus. 235 189 

On-line Help from Opt-Tech Data Proc .... 149 109 

PANEL by Round hi I I Computer Systems .... 295 215 

PC Lint by Gimpel Software . 139 99 

PLOT HI by The Librarian . 1 75 CALL 

PLOT HP by The Librarian . 175 CALL 

Scientific Subroutine Lib by Peerless. ... 175 138 


Vector87 by Vectorplex Data Systems . 150 135 

Vitamin C by Creative Programming . 225 CALL 

VC Screen Forms Designer . 100 82 

Zview by Data Management Consultants . . . 245 189 

cobol language 

Micro Focus COBOL Workbench. 4000 3379 

Micro Focus Level II COBOL. 1500 549 

COGRAPHICS. 250 199 

COMATH. 200 159 

FORMS-2. 300 259 

Level II Animator. 900 349 

Level II SOURCEWRITER. 2000 CALL 

Micro Focus Level II COBOL for Novell . . . 2000 1699 

Micro Focus Micro/SPF. 175 149 

Micro Focus Professional COBOL. 3000 2295 

Multi-user Runtime for PC Network . . . 500 429 

Microsoft COBOL See Microsoft Section. . . CALL CALL 

Realia COBOL. 995 785 

RM/COBOL by Ryan-McFarland . 950 639 

RM/COBOL 8X by Ryan-McFarland . 1250 895 

debuggers & profilers 

386 DEBUG Cross Debugger by Phar Lap >. . . 195 129 

Advanced Trace-86 by Morgan Computing. . 175 125 

Cl Probe by Computer Innovations . 225 CALL 

Codesifter Profiler by David Smith . 119 94 

Codesmith-86 by Visual Age . 145 99 

DSD86 by Soft Advances . 70 61 

DSD87 by Soft Advances . 100 79 

MiniProbe by Atron . New 395 CALL 

Periscope I by The Periscope Company .... 295 239 

Periscope II wlNMI Breakout Switch . 145 107 

Periscope ll-X Software only . 115 84 

The PROFILER with Source Code by DWB .. 125 89 

The WATCHER Profiler by Stony Brook ... . 60 51 

forth language 

CFORTH Native Code Compiler by LMl .... 300 229 

Forth/83 Metacompiler Specify Target . . . 750 599 

PC / Forth by Laboratory Microsystems . 150 109 

PC/Forth + by Laboratory Microsystems . . . 250 199 

Advanced Color Graphics Support ... 100 74 

Enhanced Graphics Support. 200 148 

Intel 8087 Support. 100 74 

Interactive Symbolic Debugger. 100 74 

Native Code Optimizer. 200 148 

PCTERM Modem Pgm for Smartmodem . . 100 74 

Software Floating Point. 100 74 

UR/Forth by Laboratory Microsystems . 350 279 

Object Module Libraries. 500 395 

Source Code License. 1500 995 

fortran language 

50 MORE: FORTRAN by Peerless Engr ... 125 99 

ACS Time Series Alpha Computer Service . . 495 399 

Btrieve ISAM File Mgr by SoftCraft . 245 194 

Essential Graphics by Essential Software . . 250 195 

For-Winds Alpha Computer Service . 90 69 

Forlib-Plus Alpha Computer Service . 70 49 

FORTLIB by The Librarian . 95 CALL 

FORTRAN Addenda by Impulse Engr . 95 85 

FORTRAN Addendum by Impulse Engr. ... 165 139 

GRAFLIB by The Librarian . 175 CALL 

HALO by Media Cybernetics . 300 209 

I/O PRO i v/No Limit Library by MEF . 390 349 

Microcompatibles Combo Package .... 240 219 

Grafmatic. 135 119 

Plotmatic. 135 119 

Microsoft FORTRAN Compiler. 350 204 

No Limit by MEF Environmental . 129 115 

PANEL Screen Designer by Round hi I I . 295 215 

PLOTHI by The Librarian . 175 CALL 

PLOT HP by The Librarian . 175 CALL 

RM/FORTRAN Ryan-McFarland . 595 CALL 

Scientific Subroutine Lib by Peerless. ... 175 138 

Statistician Alpha Computer Service . 295 245 

Strings 8t Things Alpha Computer Service. . 70 51 

Vector87 by Vectorplex Data Systems . 150 135 

lattice products 

Lattice C Compiler from Lattice . 500 275 

with Library Source Code . 900 495 

C Cross Reference Generator. 50 37 

with Source Code . 200 145 

C-Food Smorgasbord Function Library. ... 150 95 

with Source Code . 300 184 

C-Sprite Source Level Debugger . 175 129 

Curses Screen Manager . 125 89 

with Source Code . 250 178 

dBC dBase File Manager for C . 250 178 

with Source Code . 500 356 

LMK Make Facility . 195 139 

RPG II Compiler No Royalties . 750 626 

RPG II Combo with SEU & Sort I Merge. ... 1 100 939 

RPG II Screen Design Aid Utility . . . New 350 309 

SecretDisk File Encryption Utility . 120 89 

SideTalk Resident Communications . 120 89 

SSP/PC Scientific Library . New 350 269 

Text Management Utilities. 120 89 

TopView Toolbasket Function Library .... 250 178 

with Source Code . 500 356 


200 129 
99 75 

99 75 

99 75 

250 169 
. . CALL CALL 

99 85 

65 51 

75 61 

99 65 

New 69 59 

45 37 

99 75 

50 42 

95 85 

200 99 

. . 295 179 

50 45 

150 99 

50 45 

New 100 69 












































































































































































































logitech products 

LOGIMOUSE C7 Specify Connector Type ... 99 83 

with PLUS Pkg . 119 98 

with PLUS Pkg & PC Paintbrush . 169 134 

with PL US Pkg & CAD Software . 189 153 

with PLUS Pkg & CAD & Paint . 219 179 

MODULA-2/86 Holiday Package. 199 159 

MODULA-2/86 Compiler. 89 62 

MODULA-2/86 with 8087 Support .... 129 98 

MODULA-2/86 with PLUS Pkg. 189 138 

Library Sources. 99 88 

Make Utility. 29 25 

ROM Package. 199 172 

Run Time Debugger. 69 56 

Turbo to Modula Translator. 49 42 

Utilities Package. 49 42 

Window Package. 49 42 

REPERTOIRE for MODULA-2/86 by PMI. .. . 89 79 

Object Code Only . New 19 15 

microport products 

► System V/AT by Microport Systems . . . Sale 440 359 

Runtime System (Operating System} ... 159 145 

Software Development System. 169 155 

Text Preparation System. 169 155 

User Upgrade 3 to Unlimited Users . 169 155 

microsoft products 

Microsoft BASIC for XENIX . 350 239 

► Microsoft C with CodeView . Sale 450 265 

Microsoft COBOL Compiler. 700 439 

for XENIX . 995 635 

Microsoft COBOL Tools with Debugger . . . 350 CALL 

for XENIX . 450 289 

Microsoft FORTRAN Compiler. 350 204 

for XENIX . 695 439 

Microsoft Learning DOS. 50 36 

Microsoft LISP Common LISP . 250 163 

Microsoft MACH 10 wl Mouse & Windows . 549 385 

Microsoft MACH 10 Board only . 399 285 

Microsoft Macro Assembler. 150 95 

Microsoft Mouse Bus Version . 175 114 

Microsoft Mouse Serial Version . 195 124 

Microsoft muMath Includes muSIMP .... 300 184 

Microsoft Pascal Compiler. 300 184 

for XENIX . 695 439 

Microsoft QuickBASIC. 99 65 

Microsoft Sort. 195 129 

Microsoft Windows. 99 65 

Microsoft Windows Development Kit. . . 500 309 

other languages 

CCS MUMPS Single-User by MGIobal .... 60 51 

CCS MUMPS Single-User/Multi-Tasking . New 150 129 

CCS MUMPS Multi-User . 450 369 

Janus/ADA C Pack by R&R Software .... 95 89 

Janus/ADA D Pack by R&R Software .... 900 769 

Methods Smalltalk by Digitalk . 79 66 

Personal REXX by Mansfield Software .... 125 99 

Smalltalk/V by Digitalk . 99 84 

Smalltalk/Comm. 49 45 

SN0B0L4+ by Catspaw . 95 80 

other products 

Compact Source Print by Aldebaran . . New CALL CALL 

Dan Bricklin's Demo Pgm Software Garden. 75 59 

FANSI-CONSOLE by Hersey Micro .... New 75 65 

FA ST BACK by 5th Generation Systems .... 179 149 

Informix for DOS by Informix . 795 639 

Informix4GL for DOS by Informix . 995 789 

InformixSQL for DOS by Informix . 795 639 

Instant Replay by Nostradamus . 90 79 

Interactive EASYFLOW by Haventree .... 150 129 

MKS Toolkit with vi by MKS . 139 119 

Norton Commander by Peter Norton . 75 55 

OPT-Tech Sort by Opt-Tech Data Proc . 149 115 

PrintQ by Software Directions . 89 84 

Quilt Computing Combo Package. 199 169 

QMake Program Rebuild Utility . 99 84 

SRMS Software Revision Mgmt Sys ... . 125 109 

screenplay all varieties by Plexus . CALL CALL 

SoftScreen/HELP by Dialectic Systems ... 195 149 

Source Print by Aldebaran Labs . 97 CALL 

Taskview by Sunny Hill Software . 80 56 

TLIB by Burton Systems Software . 100 89 

Tree Diagrammer by Aldebaran Labs. . . New CALL CALL 

VTEK Term Emulator by Sci Endeavors . 150 129 

phoenix products 

Pasm86 Macro Assembler Version 2.0 .... 195 115 

Pdisk Hard Disk & Backup Utility . 195 125 

Pfantasy Pac Phoenix Combo . 1295 849 

Pfinish Performance Analyzer . 395 229 

Pfix-86 Plus Symbolic Debugger . 395 229 


LOWEST PRICES 

Since this ad is prepared in advance of 
publication, some of our current prices may be 
lower than what's advertised here. Call for 
latest pricing. 

FREE SHIPPING 

Orders within the USA (including Alaska & 
Hawaii) are shipped FREE via UPS. Express 
shipping is available at the shipping carrier's 
standard rate with no rush fees or handling 
charges. To avoid delays when ordering by 
mail, please call first to determine the exact 
cost of express shipping. 

CREDIT CARDS 

VISA and MasterCard are accepted at no extra 
cost. Your card is charged when your order is 
shipped. Mail orders please include credit card 
expiration date and telephone number. 

CODs AND POs 

CODs and Purchase Orders are accepted at no 
extra cost. POs with net 30-day terms are 
available to qualified US accounts only. 

FOREIGN ORDERS 

Shipping charges for foreign and Canadian 
orders are based on the shipping carrier's 
standard rate. Since rates vary between car¬ 
riers, please call or write for the exact cost. 
Foreign orders (except Canada), please include 
an additional $ 10 for customs form preparation. 
All payments must be made with US funds 
drawn on a US bank. Please include your 
telephone number when ordering by mail. Due 
to government regulations, we cannot ship to 
all countries. 

VOLUME ORDERS 

Call for special pricing. 

SOUND ADVICE 

Our knowledgeable technical staff can assist in 
comparing products, answer technical ques¬ 
tions and send you detailed product information 
tailored to your needs. 

30-DAY GUARANTEE 

Most of our products come with a 30-day 
documentation evaluation period or 30-day 
return guarantee. Please note that some 
manufacturers restrict us from offering guar¬ 
antees on their products. Call for more informa¬ 
tion. 


CALL TOLL-FREE 

US 800-336-1166 

CANADA 800-225-1166 

OHIO & ALASKA 

(Call Collect) 216-877-3781 

FOREIGN 216-877-3781 

CUSTOMER SERVICE 216-877-1110 

Hours: Weekdays 8:30 AM to 8:00 PM EST. 
Ohio customers add 5% state sales tax. 

136 SUNNYSIDE ST. HARTVIllE, OHIO 44632 


PforCe Comprehensive C Library . 395 229 

Plink-86 Plus Overlay Linker . 495 319 

Pmaker Make Utility . 125 78 

Pm ate Macro Text Editor . 195 115 

Pre-C Lint Utility . 295 155 

Ptel Binary File Transfer Program . 195 115 

polytron products 

PolyBoost The Software Accelerator . 80 69 

Polytron C Beautifier. 49 45 

Polytron C Library I. 99 78 

Polytron PowerCom Communications . 179 139 

PolyLibrarian Library Manager . 99 78 

PolyLibrarian II Library Manager . 149 115 

PolyMake UNIX-like Make Facility . 99 78 

PolyShell. New 149 119 

PolyWindows Products All Varieties .... CALL CALL 

PolyXREF Complete Cross Ref Utility . 219 169 

PolyXREF One language only . 129 99 

PVCS Version Control System . 395 309 

softcraft products 

Btrieve ISAM Mgr with No Royalties . 245 194 

Xtrieve Query Utility . 245 194 

Report Option. 145 114 

Btrieve/N for Networks . 595 464 

Xtrieve/N. 595 464 

Report Option/N. 345 274 

text editors 

Brief from Solution Systems . 195 CALL 

Epsilon Emacs-like editor by Lugaru . 195 159 

KEDIT by Mansfield Software . 125 99 

PC/VI by Custom Software Systems . 149 119 

SPF/PC by Command Technology Corp . 195 139 

Vedit by CompuView . 150 107 

Vedit Plus by CompuView . 185 139 

turbo pascal utilities 

ALICE Interpreter by Software Channels... . 95 66 

Flash-up Windows by Software Bottling. . . 90 CALL 

HELP/Control by MDS . 125 109 

On-line Help from Opt-Tech Data Proc .... 149 109 

Report Builder by Royal American . 75 CALL 

Screen Sculptor by Software Bottling .... 125 91 

System Builder by Royal American . 100 CALL 

TDebugPLUS by TurboPower Software .... 60 49 

Turbo EXTENDER by TurboPower Software . . 85 64 

Turbo Professional by Sunny Hill . 70 48 

TurboHALO from IMS/ . 129 98 

TurboPower Utilities by TurboPower . 95 78 

Turbo Ref by Gracon Services . 50 45 

TurboSmith Visual Age Debugger . 69 45 

TurboWINDOW by MetaGraphics . 80 65 

wendin products 

Operating System Toolbox. 99 79 

PC NX Operating system . 99 79 

PC VMS Similar to VAX I VMS . 99 79 

XTC Text editor with Pascal source . 99 79 

xenix system v 

See also Microport System V/AT section. 

XENIX System V Complete by SCO . 1295 999 

XENIX Development System. 595 499 

XENIX Operating Sys Specify XTIAT. . . 595 499 

XENIX Text Processing Package .... 195 144 

xenix products 

Btrieve ISAM File Mgr by SoftCraft . 595 464 

C-ISAM by Informix . 319 285 

p. c-tree ISAM Mgr by FairCom . Sale 395 279 

► dbVISTA All Varieties by Raima . Sale CALL CALL 

dBx with Library Source by Desktop Al .... 550 499 

DOSIX User Version by Data Basics .... New 199 CALL 

DOSIX Console Version by Data Basics . . New 399 CALL 

Informix by Informix . 995 795 

Informix4GL by Informix . 1500 1239 

InformixSQL by Informix . 995 795 

Lyrix by Informix . 595 449 

Micro Focus Level II Compact COBOL. . . 1000 795 

Forms-2 . 400 319 

Level II ANIMATOR. 600 479 

Microsoft See Microsoft Section . CALL CALL 

Networks for XENIX by SCO . 595 495 

PANEL Screen Designer by Round hi I I . 625 535 

REAL-TOOLS Binary Version by PCT . . . New 149 89 

Library Source Version . New 399 289 

Complete Source Version . New 499 369 

RM /COBOL by Ryan-McFarland . 1250 949 

RM/FORTRAN by Ryan-McFarland . 750 549 

SCO Professional Lotus clone by SCO .... 795 595 



CIRCLE NO. 175 ON READER SERVICE CARD 





































































































































C Programmers: 

We support every product in this ad & 700 others. 

Try any product here with a full 31-day money-back guarantee. 


Flexible SCREEN 
and WINDOW Development 
with 

ZVIEW Screen Library 
Use this field-sensitive tool to devel¬ 
op data entry screens and windows 
and provide run-time flexibility. Se¬ 
curity level settings restrict inquiry 
or update of fields; multiple screen 
help display is available at screen 
and field level. 

NEW Features: Windows can be 
stacked, peeled off, and moved at 
run-time. You also get automatic 
scrolling of data within fields. 
ZVIEW gives you full control of 
attributes, colors, boxes, protected 
fields, scrolling, and more. Load 
screens from memory for SPEED. 
Field support includes alpha, 
numeric, or alphanumeric data types, 
case conversion, range checking, 
and field comparison. ZVIEW even 
provides automatic data conversion 
to and from ASCII screen format. 
Microsoft C, Lattice 3.0, and Aztec 
3.2e. Supports EGA, color, and 
monochrome displays. 

PCDOS $189 


280 Functions Without “Fat”: 

Blackstar ‘C’ Function Library 

Without duplicating compiler li¬ 
brary functions, the Blackstar ‘C’ 
function Library covers the range. 
BOTH Microsoft C and Lattice C 
library versions are included in one 
product with screen, graphics, file, 
text, and serial communications 
routines. Extensive device driver 
support (including mouse handling). 
Low-level utilities and DOS and 
memory control routines. And a great 
price, too. 

Some other libraries are padded 
with different functions that do the 
same thing, or functions that repeat 
routines suplied with your compiler. 
Sterling Castle trims the fat to give 
you over 280 unique functions. 

All source is supplied (most in C), 
including routines written in assem¬ 
bler for speed optimization. You get 
versions for small, medium, and large 
models. 350 page manual with quick 
reference guide and demos. No 
royalties. 

1 -800-7-CASTLE PCDOS $99 


Compiler-Compatible Interpreter, Editor, Debugger 

Interactive-C™ 

A fully integrated development environment, Interactive-C combines a 
K&R standard interpreter with a full-screen editor and source-level de¬ 
bugger. Interactive C is 100% compatible with Lattice or Microsoft. 
You can link in external libraries —- your own or commercial: no source 
code modifications are necessary! 

The full screen editor gives you adjustable edit, command, and status 
windows. Switch to second screen for output, or even display on two 
separate monitors. 

Why get only a limited debugger when you can get full source debugging 
with an interactive interpreter? Unlimited breakpoints, variety of stepping 
modes, interactive viewing and modification of variables, automatic 
positioning of cursor at error. Even stop to edit, then continue without 
re-executing from start . 8087/287 support. 

Specify Lattice or Microsoft. PCDOS $219 


Fast Prototyping and Development of User Interfaces with 

Skylights 

“ft's much easier to adapt to the end-user's needs than any other product 
I've seen . . . definitely a programmer's tool." 

William Elswick, Software Engineer, Compact Video 

Quickly design interactive prototypes, then include screens you develop 
in your finished application code. Design demos or tutorials. 

Skylight combines an intuitive screen/window/menu editor, run-time 
windowing, menu handling, and front-end support routines, and “Demo/ 
Tutorial Maker” program plus detailed low-level primitives. Supports a 
variety of pointing devices (mice, tablets, lightpens). All major C com¬ 
pilers; even use with other languages (BASIC, Pascal, Assembly) with 
utility included. Bit-mapped graphics upgrade available. No royalties. 

Skylight PCDOS $359 
Software , Inc. 


BRIEF Makes Editing C Programs a Breeze 

BRIEF, The Programmer’s Editor, is tailored for C programmers. Take 
a look at the BUILT-IN features below —just part of the reason why 
1000’s of C programmers already rely on BRIEF. 

AutoCompile - While in BRIEF, with MS C, Lattice, other 
compilers 

Autoindent - Use default or modify 

Template editing - for “fill in the blanks” style programming 
Error to Error Tracking - “Next error” moves to right line 
MultiWindow Editing - Any size, any number 
Macro Language - Completely readable, programmable 
BRIEF can be used with any language. Even beginning programmers 
become productive in less then 30 minutes. Ask about UNDO (not un¬ 
delete), Unlimited File Size, Tiled & Pop-Up Windows, or for a detailed 
product description. ^Solution 

.Systems 


PCDOS $195 


NEW Blaise Tools Are Better Than Ever 
C Tools Plus 

Free yourself for more creative programming; stop worrying about hard¬ 
ware dependence. Handle everything from co-resident software require¬ 
ments to multiple display pages and monitors with C Tools Plus. Filter 
interrupts so that other resident programs still work. 200+ well- 
documented functions control screen handling (direct to video adapter or 
BIOS calls, EGA text mode support including 43 line and multiple display 
pages — even handle multiple monitors), an unlimited number of pop-up, 
stackable windows with word-wrap, interrupt service routines, DOS di¬ 
rectory and file handling, memory management and program control, 
string functions, and more. Source, no royalties. Lattice 3.0, MS C. 

__PCDOS $139 

BLAISE COMPUTING INC. 


A NEW C Standard for SCREENS and WINDOWS: 

C-SCAPE 

Setting a new standard for screen generation, C-scape turns your Dan Bricklin 
Demo Program screens into C code instantly. You can capture existing screens 
from 1-2-3, Turbo, or that old BASIC diehard and convert them to C inseconds. 
C-scape can save you immense effort and reduce errors for both new program 
development and language conversion projects. 

C-scape is a combination screen generator and library of input/output functions 
that provides an advanced and powerful ability to create different types of 
menus, input fields, help screens, and text with unprecendented speed and 
flexibility. Tiled, pull-down, and pop-up windows of virtually any depth 
(limited by RAM) are a key feature, along with scrolling, full color and type 
support, and individual key or field validation. 

Because C-scape is based on C’s printf statement, you can embed the com¬ 
mands for screen positioning and field definition right inside your format 
string. This helps you produce clear, readable code, which is easier to maintain 
and change. 

Since full source code is provided, the standard library routines can be tailored 
to meet your exact screen layout and keystroke handling requirements. 

All C programmers will benefit from C-scape’s readable, intuitive syntax, 
based on an extension of C’s printf function. Beginners will learn by studying 
code generated from captured screens. Advanced programmers will enjoy 
C-scape’s ease of maintenance. Power programmers will appreciate the free 
source code provided at no additional cost upon registration. 

Oakland Group, Inc. features free updates, an on-line bulletin board for 
users, and toll-free technical support at 800-233-3733 (800-BEE-FREE) or 
617-491-7311. 

Escape the pitfalls of coding from scratch, and free up your time for creativity 
and productivity. Buy C-scape now and take advantage of the 31-day review 
period: satisfaction guaranteed or your money back. No royalties. No license 
fee. Lattice 3.0, Microsoft 3.0 & 4.0. 

Oakland Group, Inc.CO PCDOS $149 


Call for a catalog, literature, advice and service you can trust 


HOURS 

8:30 AM -8:00 PM EST. 


CIRCLE NO. 220 ON READER SERVICE CARD 

800 - 421-8006 

THE PROGRAMMER’S SHOP™ 

128-P Rockland Street, Hanover, MA 02339 
Mass: 800-442 8070 or 617-826-7531 12/86 


“The scope and detail of services you provide are 
exemplary — it’s obvious you have given a lot 
of thought to what information people need . . . 
For someone like myself, critical appraisals of 
software and comprehensive collections of offer¬ 
ings such as you have are really useful.” 

A. Bruce Cyr 
Foundation of American College 
of Health Care Administrators 














1 1 tr^l yOT T 

1 JDvJrl 

MICHAEL ABRASH 

NOTEBOOK 

73 

Conditional-jump Macros 

Macros can be used to size a conditional jump automatically, 
in order to aid the assembly language programmer. 


T he need to work around short conditional jumps is one of 
the annoyances of assembly language programming for 
the 808x microprocessor family. Backward conditional jumps 
spanning fewer than 129 bytes and forward conditional jumps 
spanning fewer than 128 bytes can be implemented with a 
single instruction, such as JNZ, but longer conditional jumps 
require a two-instruction sequence, such as JZ around a long 
JMP. An optimizing compiler is better than an assembler in 
the automatic generation of the proper code sequence for 
long or short conditional jumps as needed, and produces 
tighter, faster code. With the proper macros, however, auto¬ 
matically sized backward conditional jumps are possible. 

The macro in MJNZMAC.ASM (listing 1) generates JNZ if 
the jump distance is short enough for the 128-byte range of 
the backward conditional jump to reach the destination. If the 
distance is too great, a JZ around a JMP is generated. If the 
jump distance is more than 128 bytes (as calculated from the 
end of the JNZ instruction), the JZ/JMP sequence will be gen¬ 
erated; otherwise, the more efficient JNZ instruction (3 bytes 
shorter and 3 to 12 cycles faster on the 8088) is used. 

The MJNZ macro can determine the optimal code se¬ 
quence for backward jumps only. On the first pass of the as¬ 
sembler, the destination of (and hence the distance covered 
by) forward jumps is not yet known, whereas on pass two, 
the destination is known, but any change in the length of the 
code sequence from pass one causes a phase error. The 


LISTING 1: MJNZMAC.ASM 

; Input: 

/ PI = label to jump to. 

MJNZ macro 

PI 

local 

ifdef PI 

if (PI LE $) 

skip_label, skip_label1, skip_label2 

if (($ * PI 

+ 2) LE 128) 

jnz 

else 

PI ;backward short jump 

jz 

skiplabel 

jmp 

skip_tabel: 
endif 

else 

PI /backward long jump 

jz 

skip_label1 /forward jump (pass 2) 

jmp 

skip_label1: 
endif 

else 

PI 

jz 

skip_label2 /forward jump (pass 1) 

jmp 

skip_label2: 

endif 

endm 

PI 


MJNZ macro handles this problem by treating all forward 
jumps in the same way—as long jumps via a JZ/JMP sequence. 
Forward jumps that span more than 127 bytes do not cause 
an error. To make the code as efficient as possible, the for¬ 
ward jumps should be coded as short ones. If any of the 
jumps should have been long (more than 127 bytes), the as¬ 
sembler generates an error, and the jumps that are in error 
can be modified manually to be long. 

Another useful conditional jump macro is shown in 
MLOOPMAC.ASM (listing 2). MLOOP generates a LOOP in¬ 
struction, if possible, or a DEC CX/JZ/JMP sequence, if the 
jump range is too great. Again, for forward jumps, the listing 
creates a long jump to ensure that no errors occur at the 
time of assembly. This can be modified (as explained above 
for listing 1) for code efficiency where possible. 

One excellent application of conditional-jump macros is 
in building other macros. When coding macros that contain 
loops around REPT blocks of variable length or macros that 
contain conditional jumps to destinations outside the macro 
code, a long jump range normally is assumed, and the JX/JMP 
code sequence is used because a short jump might not reach 
in all circumstances. Conditional-jump macros used within 
other macros ensure that efficient jumps will be generated 
automatically whenever possible. 1S ^1 


Michael Abrash is a senior software engineer for Orion Industries. 


LISTING 2: MLOOPMAC.ASM 

/ Input: 


/ PI = label to jump to. 

MLOOP macro 

PI 

local 

skip_label f skip_label1, skip_label2 

ifdef PI 


if (PI LE $) 


if (($ - PI 

+ 2) LE 128) 

loop 

PI /backward short jump 

else 


dec 

cx 

jz 

skip_label 

jmp 

PI 

skip_label: 


endi f 


else 


dec 

cx /forward jump (pass 2) 

jz 

skip_label1 

jmp 

PI 

skip_label1: 


endif 


else 


dec 

cx /forward jump (pass 1) 

jz 

skip_label2 

jmp 

PI 

skip_label2: 


endif 


endm 



FEBRUARY 1987 


45 



















Finally, a language worth 


For years BASIC has been everyone’s first 
language. And for almost as long, they’ve been 
tempted by other languages. Lured by promises 
of more speed, more power. 

We have a solution. A new language that’s a 
substantial improvement over BASICA. Faster. 
More structured. Finally, a compelling reason to 
leave BASIC. 

Introducing Microsoft’s QuickBASIC 
Compiler, Version 2.0. 

At last, you can have the latest programming 
techniques, combined with the solid foundation 
of BASIC. Our new compiler is as compatible 
with BASICA as you can get. At the same time 
it offers the extra speed and power you’ve been 
looking for. 


Run faster with compiled code* 

If there’s one thing you’ve asked for, it’s speed. 
And Microsoft® QuickBASIC simply blazes. 
Old BASICA programs will run up to ten times 
quicker once they’ve been compiled. Sometimes 
even faster. 

Everything you need* Built-in. 

Making programs run faster is only part of the 
story, though. The new Microsoft QuickBASIC 
Compiler includes a full-screen editor, built-in. 
So now you can make the jump from writing to 
RUNning in no time flat. Edit your program, 
compile it, and run it. Faster than any other 
BASIC compiler around. All without leaving 
our on-line help and prompts. 



Microsoft is a registered trademark and The High Performance Software is a trademark of Microsoft Corporation. IBM is a registered trademark of International Business Machines Corporation. 





















leaving BASIC for. 




On the rare chance your program doesn’t run 
100% the first time out, we’ve got another sur¬ 
prise for you. The Microsoft QuickBASIC de¬ 
bugger. Our full-screen tracing lets you 
debug your programs while watch¬ 
ing the source code execute. A line 
at a time, or with breakpoints. As 
easy as can be. 

Our compiler is also 
to save you time. First, by finding any 
errors in one pass. Second, by putting your 
editor s cursor on the problem. Automatically. 
So you don’t have to get lost in a maze of error 
codes and line-numbers. 

The BASIC virtues. And more. 

Speaking of line numbers, let’s not. Because 
line numbers are strictly optional. And Microsoft 
QuickBASIC lets you use alphanumeric labels 
as well. Now you can GOTO ErrorCheck instead 
of line number 6815. 

Or you could stop using GOTOs altogether. 
There are a variety of options that could make 
the GOTO an endangered species. Features like 
multi-line IF-THEN blocks. And named sub¬ 
programs. Now your BASIC programs can be 
as structured and organized as you want. 

We’ve only just begun to talk about the 
virtues of Microsoft QuickBASIC. There are 
dozens of enhancements to your favorite 
language. Things like larger arrays. Local and 
global variables. Reusable modules that let you 
create libraries of your most often-used routines. 
All explained in a revised manual that includes 
a complete language reference. 

Making your quick escape. 

If all these features follow your BASIC 
instincts, then zip on down to your nearest 
Microsoft dealer. That’s where you’ll discover the 
best surprise of all. The price. Only $99 for the 
best reason to leave BASIC. 

For the name of your nearest Microsoft dealer, 
call (800) 426-9400. In Washington State and 
Alaska, (206) 882-8088. In Canada, call (416) 
673-7638. 


Microsoft® QuickBASIC 

The High Performance Software™ 

CIRCLE NO. 121 ON READER SERVICE CARD 


Microsoft QuickBASIC Compiler Version 2.0 
for IBM® PC and Compatible Computers. 


BASICA Compatibility 

♦ Sound statements including SOUND and PLAY. 

♦ Graphics statements including WINDOW VIEW DRAW 
GET, PUT, LINE, CIRCLE, LOCATE and SCREEN. 

♦ Support of EGA extended graphics modes. NEW! 

♦ BASICA structures are supported including WHILE/WEND, 

IF/THEN/ELSE, FOR/NEXT, GOSUB/RETURN, and 
event handling. , 

Microsoft 

Results of Sieve Benchmark BASICA 3.1 QuickBASIC 2.0 
Seconds per iteration 78 0.52 

Complete Programming Environment 

♦ Built-in Editor that places the cursor on found errors auto¬ 
matically. NEW! 

♦ Compile entirely in memory at speeds up to 6000 lines per 
minute. NEW! 

♦ Link routines once when starting a programming session and 
no need to link again when changing programs. NEW! 

♦ Built-in debugger with single-step, animate, and trace modes. 
NEW! 

♦ Create stand-alone programs. 

Alphanumeric Labels 

♦ Can be used to make your programs more readable. Line 
numbers are not required but are supported for BASICA 
compatibility. 

Structured Programming Support 

♦ Block IF/THEN/ELSE/END IF eliminates the need for 
GOTO statements. NEW! 

♦ Subprograms can be called by name and passed parameters. 
Both local and global variables are supported. 

Modular Programming Support 

♦ Separate compilation allows you to create compiled BASIC 
libraries to use and re-use your programs. 

♦ A library of routines to access DOS and BIOS interrupts is 
supplied. NEW! 

Large Program Support 

♦ Code can use up to available memory. 

♦Numeric arrays, each up to 64K bytes, 

can use up to available memory. 

NEW! 










"Rampage* 286 Offers Up To 
2 Megabytes Of Memory For 
Our ATs and XT 286s. 

Linda's job requires her to be 
a jack of all trades... accountant, 
writer, even market researcher. 

To get the job done she uses 
specialized software applications— 
1-2-3® for spreadsheets, WordStar® 
for writing and dBASE III® for her 
extensive database files. 

Moving between applications 



was time consuming until Linda got AST's Rampage 
286. With the operating environment software 
AST includes with all its expanded 
memory boards, she's able to load 
her applications directly into 
RAM once in the morning. 

Now she jumps from applica¬ 
tion to application with the touch 
of a key And she can even do sev¬ 
eral tasks, using multiple applica¬ 
tions, at the same time. Rampage 
286 was the right choice for Linda:' 


"We Needed \taat 

Solutic 






“Advantage Premium® For A 
Combination Of I/O Ports and 
Expanded Memory. 

Bill is setting up his new 
AT with a modem to access and 
receive information, a plotter for 
plotting and analyzing data, and 
a letter-quality printer for reports 
to management. 

We knew he'd need extra 
ports. So we ordered his AT with 


AST's Advantage Premium. It offers all the same 
expanded memory features of the Rampage 
286 combined with one or two serial 

ports and a parallel port—all in a 
single slot. 

With his 2 MB of expanded 
memory Bill intends to set up large 
RAM disks and print buffers. 
That's power and 
flexibility And it's just 
what Bill needs;' 


le ATMemory 
ns We Chose AST” 



“For Business Graphics...Rampage/EGA Is The 
Right Single-Slot Memory/EGA Solution. 

In accounting, Rick, uses EGA-color graphics 
to convert data into charts and graphs.These images 
help him to quickly analyze and understand the 
mountains of data his department acquires. He's 
found that EGA offers the sharpest, clearest images. 

Rick also creates big spreadsheets using the 
expanded memory version of Lotus® 1-2-3. And here 
Rampage/EGA's 2 MB of expanded memory cam 
come in mighty handy 

When we added EGA capability to other ATs, 
Rick recommended AST's Rampage/EGA. He said 
it works with popular monochrome, color and 
enhanced color monitors and makes 
upgrading a system easy We took his 
advice. Now Rick is the Accounting 
Manager." 


'AST's Premium Series Boards For The AT 
Also Give Us Extended Memory. 

We use extended memory for large RAM disks 
and print buffers. And it gives us compatibility 
with current and future protected operating systems, 
like XENIX,®" 

To Leam More About AST's Premium Series 
AT Boards Call (714) 863-1480. Or complete the 
coupon and send to AST Research, Inc., 2121 Alton 
Ave., Irvine, CA, 92714-4992, Attn: MC. 

AST markets products worldwide—in Europe call: 441 568 4350; in the Far East call: 852 0499 9113; in 
Canada call 416 826 7514. AST, the AST logo, and Rampage registered and SixPakPremium trademark of AST 
Research, Inc. IBM and AT registered trademarks of International Business Machines Corp. Lotus and 1-2-3 
registered trademarks of Lotus Development Corp. dBASE III registered trademark of Ashton-Tate. WordStar 
registered trademark of MicroPro International. XENIX registered trademark of Microsoft Corp. Copyright 
© 1986 AST Research, Inc. All rights reserved. 

Yes, send me information on AST's Premium Series boards for the AT! 
Name 


Title 


Address 


City/State/Zip 
























































The newest microprocessor from Intel 
builds on the strong foundations 
of its predecessors to deliver 
minicomputer performance to the PC. 


rom its beginnings in the 8086 and 
8088, the growth of the Intel pro¬ 
cessor family has been character¬ 
ized by full upward compatibility and 
significant advances in function and per¬ 
formance. While providing functional 
advances, every new member of the 
family has retained full instruction set 
and operational compatibility with its 
predecessors, affording protection of 
the investment made on software for 
the previous microprocessors. In the 
case of the 8086/88, this investment has 
been formidable. 

It is therefore significant that Intel’s 
latest microprocessor, the powerful 32- 
bit 80386, brings even greater function 
and performance while also providing 
for a smooth transition from the pro¬ 
gramming environment of the 8086/88 
and 80286. This newest Intel family 
member features internal enhance¬ 
ments, such as instruction and bus pipe¬ 
lining, a larger prefetch queue, and a 


32-entry page table cache for memory 
paging functions, which, coupled with 
the 16-MHz clock rate, provide a level 
pf performance that is traditionally asso¬ 
ciated with central processing units in 
minicomputer products. 

The most significant advances of 
the 80386 are those with the potential 
for removing the barriers that operating 
system and application developers have 
encountered in its predecessors. These 
new advances include the 32-bit instruc¬ 
tion set enhancements, the memory 
paging functions, the enhanced I/O per¬ 
mission features, and the large linear 
address (4GB) programming model. 
Most of all, and most important, is that 
these advances have been incorporated 
in a superset manner in order to main¬ 
tain full compatibility with software 
products developed for the 8086/88 and 
80286. Table 1 summarizes the func¬ 
tional superset provided by each mem¬ 
ber of the Intel microprocessor family. 



51 


PHOTOGRAPH ‘WALTER LARRIMORE/BLAKESLEE-LANE 








80386 

SOLID FOUNDATIONS 

The 8086/88 microprocessors are the 
foundation of industry-standard per¬ 
sonal computing. They provide the 
functional base from which the Intel 
microprocessor family has continued to 
evolve in function and performance, 
and they have set the programming 
standards used to develop the large 
number of software products available 
today for personal computers. However, 
innovation in the software industry has 
outgrown the 8086/88 architecture. The 
performance and function provided by 
this architecture have become an im¬ 
pediment to the development of more 
powerful software applications. 

The 8086 and 8088 both use a 16- 
bit internal architecture and provide 16- 
bit registers and a 16-bit instruction set. 
The only difference between the two 
processors is that the 8086 uses a 16-bit 
external bus to reference memory, 
whereas the 8088 uses an 8-bit external 
bus. Their addressing mechanism is a 
simple one. During program memory 
references, the contents of the segment 
register are shifted left by 4 bits and 
added to the offset to form a 20-bit 
physical memory address. This address 
provides software programs with direct 
access to 1MB of physical memory. 

The 8086/88 programming model 
is based on a segmented memory mod¬ 
el in which the code and data portions 
of a program are partitioned into vari¬ 
able length segments up to 64KB in 
size. In this model, the 8086/88 micro¬ 
processors provide an environment ap¬ 
propriate for developing relatively sim¬ 
ple operating systems and applications. 

As applications have increased in 
sophistication, the limits of the 8086/88 
architecture have become evident. The 
1MB physical memory constraint has 
forced some applications to resort to 
complex memory management tech¬ 
niques, such as overlays, that typically 
place performance and function limita¬ 
tions on those applications. In addition, 
operating systems with the required 
functions to support the complexity of 
new applications have been limited due 
to the memory size constraints and the 
direct accessibility of physical memory 
and I/O devices by applications. 

80286 EXPANDS LIMITS 

The next step in the evolution of Intel 
microprocessors was the 80286, also 
based on a 16-bit architecture, but with 
significant improvements in the areas 
limited by the 8086/88. The 80286 pro¬ 
vides two different modes of operation: 
real and protected. In real mode, the 
16-bit instruction set, the segmented 


TABLE 1: Intel Family Functional Aspects 


FEATURES 

8088/8086 

80286 

80386 

Maximum physical memory 

1MB 

16MB 

4GB 

Maximum virtual memory 

1MB 

1GB 

64TB 

Maximum segment size 

64KB 

64KB 

64KB or 4GB 

Paging hardware 

No 

No 

Yes 

Operand sizes (bits) 

8, 16 

8, 16 

8,16, 32 

Register sizes (bits) 

8, 16 

8, 16 

8, 16, 32 

Memory-I/O protection 

No 

Yes 

Yes 

Coprocessor support 

8087 

80287 

80287/80387 

Prefetch queue (bytes) 

4/6 

6 

12 


Newer members of the Intel microprocessor family are designed to add function¬ 
ality and performance while providing compatibility with older family members. 


programming model, addressing mech¬ 
anism, and 1MB physical memory limi¬ 
tations are identical to those provided 
by the 8086/88. This compatibility al¬ 
lows most application programs devel¬ 
oped for the 8086/88 to execute on the 
80286. Execution of these applications 
in real mode benefits primarily from 
the faster execution speed offered by 
the 80286-based computers. 

The 80286’s protected mode ad¬ 
dresses up to 16MB of physical memory 
and implements a hierarchical memory 
protection model that is necessary for 
the implementation of more sophisti¬ 
cated operating systems. Unfortunately, 
a basic incompatibility between real and 
protected modes has hindered develop¬ 
ment of protected mode operating sys¬ 
tems that make available to applications 
the new capabilities of protected mode 
while also allowing real mode applica¬ 
tions to execute. 

The protected mode’s memory 
protection model is based on four privi¬ 
lege levels (0 to 3) that can be used to 
manage access to system memory and 
I/O devices. Typically, the operating sys¬ 
tem executes at the highest privilege 
level (0) and has the ability to access all 
system memory and I/O resources. Ap¬ 
plications, on the other hand, usually 
execute at the lowest privilege level in 
which access to memory and I/O re¬ 
sources is limited. 

Applications can, however, access 
operating system and other higher-privi¬ 
lege services that have access to a wider 
range of system resources by transfer¬ 
ring control to those services via gates. 
Gates are used to transfer execution 
between routines at different privilege 
levels. For example, call gates can pro¬ 
vide access to operating system services 
that allow applications to access pro¬ 
tected system resources indirectly. 

Other gates—interrupt, trap, and task— 
are used for interprivilege-level trans¬ 


fers, such as those of execution be¬ 
tween tasks and interrupt handlers. 

Memory protection is accom¬ 
plished by assigning to each memory 
segment a privilege level that is placed 
in the segment’s descriptor entry. This 
level determines the minimum privilege 
a program must have to access that seg¬ 
ment. An I/O privilege level is also as¬ 
signed in the flags register to define the 
level of privilege necessary for a pro¬ 
gram to perform direct I/O to devices. 
Combined, the memory and I/O privi¬ 
lege levels assigned to system resources 
by the operating system define which 
programs can access these resources. 

Similarly, the operating system as¬ 
signs to each application a privilege lev¬ 
el of execution. This privilege level is 
placed in the least two significant bits of 
the program code segment (CS) regis¬ 
ter. Programs that are assigned a lower 
privilege (higher numerical value) than 
that required to access a memory seg¬ 
ment are prevented by the 80286 from 
accessing that segment. If such a pro¬ 
gram attempts to access a memory seg¬ 
ment of higher privilege level, a general 
protection fault (interrupt 0DH) occurs. 
Similar results occur if a program 
whose privilege level is lower than that 
assigned to I/O devices (IOPL) attempts 
to access an I/O device directly. 

By using the least significant bits of 
the segment registers to contain the 
privilege level of the executing pro¬ 
gram, the memory addressing mecha¬ 
nism is made to function differently in 
protected mode than in real mode. As a 
result, the vast number of applications 
developed for the 8086/88 cannot be 
executed in protected mode and thus 
cannot take advantage of the increased 
memory capacity of the 80286. 

Figures 1 and 2 show the address¬ 
ing mechanism used in the protected 
mode of both the 80286 and 80386. In 
this mode, the content of the segment 


32 


PC TECH JOURNAL 










Adapted from Intel 80386 Data Sheet _Adapted from Intel 80386 Data Sheet 


FIGURE 1: Segment Registers in 80286/80386 Protected Mode 


SELECTOR 


15 


4 3 2 1 0 


SEGMENT 


~Y~ 





TI 


REGISTER 

0 

0 // 

.. .0 

0 

1 

1 

1 

1 


INDEX 


- REQUESTOR 
PRIVILEGE LEVEL 


TABLE 

INDICATOR 


TI = 1 


TI = 0 


N 

^_^ 

N 






6 


6 


5 


5 


4 


4 


3 

DESCRIPTOR 

3 


2 


2 


1 


1 


0 


0 

NULL 


LOCAL 

DESCRIPTOR TABLE 


GLOBAL 

DESCRIPTOR TABLE 


A 16-bit segment register selects the segment by indexing either the global (GDT) 
or local (LDT) descriptor table. Typically, each task has its own LDT. 

FIGURE 2: 80286/80386 Protected Mode Addressing 


SEGMENT 

REGISTER 


~ss] 


GS 


FS 


ES 


DS 


SELECTOR 


CS 


BASE REGISTER 


INDEX REGISTER 


SCALE 
1, 2, 4, or 8 


L K+> 


EFFECTIVE 

DESCRIPTOR ADDRESS 
REGISTERS 


~ss] 


illllllil 

DISPLACEMENT 

r 

(in instruction) 


PHYSICAL MEMORY 


GS 


FS 


0 


24-BIT 

LINEAR 

ADDRESS 

-► 


ES 


DS 


ACCESS RIGHTS 


CS 


LIMIT 


BASE ADDRESS 




TARGET ADDRESS 




SEGMENT 

LIMIT 


SELECTED 

SEGMENT 




] 386 only 


SEGMENT 

BASE 

ADDRESS 


Both the 80286 and 80386 allow addressing through a combination of displace¬ 
ment and base/index registers. The 80386 provides additional segment registers FS 
and GS and allows the index register to be scaled (multiplied) by 1, 2, 4, or 8. 


registers is used, during a memory ac¬ 
cess, as an index into one of several de¬ 
scriptor tables that define how the phys¬ 
ical memory is partitioned in the sys¬ 
tem. Using the three least significant 
bits in the segment registers to define 
the privilege level (0 to 3) and descrip¬ 
tor table (global or local) make the use 
of the segment register contents incom¬ 
patible with that of the 8086/88 and 
80286 real mode. For example, in the 
8086/88, general data, unrelated to seg¬ 
ment information, can be stored in the 
segment registers. Some 8086 programs 
use their knowledge of segment/offset 
addressing by placing the value 0 in a 
segment register. On an 8086, this pro¬ 
vides access to the low 64KB of mem¬ 
ory. On an 80286 in protected mode, 
this typically results in a memory pro¬ 
tection fault, because the segment regis¬ 
ter bits have different meanings. 

The 80286 also offers task manage¬ 
ment facilities via the task state segment 
(TSS) data structure, which allows an 
operating system to assign a TSS to 
each task in the system and to store in 
the TSS the execution state (for exam¬ 
ple, register contents and flags) asso¬ 
ciated with that task. The TSS functions 
make an efficient transition from one 
task to another by saving the current 
task’s execution parameters quickly in 
the TSS and restoring the execution pa¬ 
rameters of the new task from its corre¬ 
sponding TSS data structure. 

A FEW CONSTRAINTS 

Powerful applications that have been es¬ 
pecially developed to run in protected 
mode face a number of constraints in 
the 80286 segmented programming 
model. For large applications, such as 
artificial-intelligence-based expert sys¬ 
tems, the 64KB segment size limitation 
forces the developer to partition an ap¬ 
plication into multiple code and data 
segments. Thus, the operating system 
cannot relieve the application (or its 
source language) from the burden of 
managing code and data segments. 

The segmentation model of the 
80286 also hinders the porting of appli¬ 
cations developed for microprocessors 
that use a large linear address program¬ 
ming model, such as the Motorola 
68000. Porting such an application to 
the Intel family would probably require 
a major redesign of the application in 
order to partition it into multiple code 
and data segments. 

Other constraints in the 80286 
functions have also slowed certain areas 
of operating system development. For 
example, the 80286 lacks some of the 
functions needed to implement an ef- 


FEBRUARY1987 


53 























































































































Appointments. Everybody 
takes them — dentists, auto¬ 
body shops, dance instructors. 

And lots of computer applica¬ 
tions need appointment 
screens. 

Bob thought that a calen¬ 
dar made a terrific graphic 
metaphor for taking appoint¬ 
ments. Simply use the arrow 
keys to pick an open date, then 
press the Enter key, and up 
pops an appointment window. 

Lucky for Bob, he’s a 
CLARION programmer, one of 
a fast growing cadre of super-productive application developers. 

With CLARION'S Screener utility, he painted a white calendar on a black back¬ 
ground. Then he drew a white-on-blue track around the page and between the days. 
He typed in the days of the week — and voila! — a calendar! 

CLARION knows that a PC monitor is refreshed from memory, so it treats a 
screen layout like a group of variables. Just move data to a screen variable, and it 
shows up on the monitor. 

Bob set up dimensioned screen variables for the days of the month and a screen 
pointer for selecting a date, and he was done. Then Screener generated the code. 

Then Bob drew the appointments window, built an appointment file, filled in the 
connecting code and tested it — ONE HOUR AFTER HE STARTED! 

Testing was a breeze. Screener doesn't just write code, it compiles your source, 
displays a screen, gets the changes, then replaces the old code in your pregram. 

So here are Bob's appointment screens. You can see the source listing to the right. 
We marked all the code Screener wrote for him. 

WHY CLARION? 

■ 8 ^ If ~ K; iMp; e“1c; ^ 1 Why are application developers everywhere 

H """-fiyiLssJI Because CLARION gives you all the tools 
B -— EM T, „ r Sj| 1 you need: a coupled compiler and editor; screen, 

fl-zn jgjHEill ' *1 n a I I report, and help generators; an import/export 
7 iys4=gas| utility; a sort/backup/restore utility; a format- 

J| ted file dump; DOS shell — and much more. 

■ " I! "i| Because with CLARION’s comprehensive 

Ln data management routines, records can be 


Booked 
Not In 


Booked 1 Booked] 

Booked jPH: Booked 


Att: Booked 


19 

Easter 

Sunday 


10:38 G. Fredricks 
11:00 K. Lundstron 
11:30 sane- 
12:00 Lunch - Rotary 
12-30 -sane- 


3:30 

4:00 C. Stanley 
4:30 -sane- 


^ m locked and files shared on Novell®, 3COM®, ? 

IBM® PC Net & Token Ring, Multi Link®, and most other networks. : lip" 5ff 

Because CLARION is not hardware locked or copy protected. Rpn-time systems 11 Si— 2L 

are free and soon you will be able to translate CLARION into native machine code ." 

(.EXEs). _ _ _ I_I 

And best yet, the price of CLARION vl.l is just $395 plus shipping and handling. 

You’ll need an IBM PC or true compatible with 320KB of memory and a hard disk drive. CLARION vl.l 
also comes with a 30-day money back guarantee. _ 

So call now and order CLARION vl.l. or ask for our 1^ ¥^^V|L¥® 

detailed 16-page color brochure and reprints of major reviews. m 1^^ l¥J|^| 


800 / 354-5444 


from BARRINGTON SYSTEMS, INC. 


APPOINTMENTS FOR 


THURSDAY 


CIRCLE NO. 105 ON READER SERVICE CARD 




















































Adapted from Intel 80386 Data Sheet 


80386 

FIGURE 3: 80386 General Registers and Flags 


GENERAL DATA 
and ADDRESS REGISTERS 


31 


16 15 


SEGMENT SELECTOR 
REGISTERS 

15 0 


INSTRUCTION POINTER 
and RAGS REGISTER 


31 


1615 



AH AX AL 


BH BX BL 


CH CX CL 


DH DX DL 


SI 


DI 


BP 


SP 


EAX 


CS 

CODE 

EBX 


ss 

STACK 

ECX 


DS^ 


EDX 


ES 

DATA 

ESI 


FS 

EDI 


GsJ 


EBP 



ESP 





IP 


RAGS 


EIP 

EFLAGS 


FLAGS 


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 V~V~V~T~6~~T~4 3 2 1 0 


EFLAGS 


INTEL RESERVED 


VM 


RF 


0 


NT 


IOPL 


OF 


DF 


IF 


TF 


SF 


ZF 


0 


AF 


0 


PF 


1 


CF 


VM 

Virtual mode 

IOPL I/O privilege level 

DF 

Direction flag 

PF Parity flag 

ZF 

Zero flag 

RF 

Resume flag 

OF Overflow flag 

IF 

Interrupt enable 

AF Auxiliary carry 

SF 

Sign flag 

NT 

Nested task flag 


CF 

Carry flag 


TF 

Trap flag 


Most registers are expanded to 32 bits in the 80386. Instruction prefix bytes determine if the 16- or 32-bit register is used. 


fective virtual memory system. The ad¬ 
vantage of such a system is the ability 
concurrently to execute single or multi¬ 
ple applications, the total memory re¬ 
quirement of which exceeds the total 
amount of physical memory installed in 
the system. Such sophisticated memory 
management techniques have long been 
used in mainframe and minicomputer 
products and are becoming essential for 
microcomputers. The requirement in 
certain environments for running multi¬ 
ple applications concurrently has in¬ 
creased the need for these memory 
management techniques. 

STEPPING UP TO 32 BITS 

Given these limitations of the 80286, 
the time seemed right for yet another 
advancement in microprocessors—and 
Intel introduced the 80386. It is built on 
a 32-bit internal and external bus archi¬ 
tecture and features a full complement 
of 32-bit registers (see figure 3), a sub¬ 
set of which can be used to perform 16- 
bit operations compatible with those of 
the 8086/88 and the 80286. All 16-bit 
registers present on the 80286 can be 
accessed on the 80386 by the same 
names (AX, BX, etc.). Their 32-bit coun¬ 
terparts are accessed as extensions of 
the 16-bit registers (EAX, EBX, etc.). 

All instruction prefetch operations 
are made on a 32-bit basis, thus taking 
full advantage of the bandwidth of the 
memory bus. As a result of this more 
effective prefetching method and for 
optimization with the larger average in¬ 


struction size, the size of the prefetch 
queue has been increased from that of 
previous microprocessors to hold three 
double words (12 bytes). 

The instruction pipelining capabil¬ 
ity allows the parallel fetching, decod¬ 
ing, and execution of instructions. The 
execution unit can execute an instruc¬ 
tion while the instruction decode unit is 
decoding the following instruction and 
the bus control unit is prefetching yet a 
third instruction. Similarly, for instruc¬ 
tions that require memory or I/O bus 
cycles, the bus control unit can gener¬ 
ally perform bus cycles simultaneously 
with the execution of internal cycles 
that do not require bus activity. 

An example of the efficiency of in¬ 
struction pipelining is found in the ex¬ 
ecution of an iteration of the repeat 
move string (REP MOVS) instruction. An 
iteration (not the first execution of the 
repeated MOVS instruction) of this in¬ 
struction requires four execution cycles 
and two memory bus accesses (one to 
read and one to write). In a system with 
a pipelined zero-wait-state memory 
architecture, where each 32-bit memory 
bus access is performed in two cycles, 
the four bus cycles are performed in 
parallel with the four CPU execution 
cycles. The parallel execution of inter¬ 
nal and bus cycles yields a 32-bit mem¬ 
ory move time of 250 nanoseconds 
(ns), or four 62.5-ns cycles at 16 MHz. 

Bus pipelining is also an important 
advance of the 80386. It maximizes 
memory bus activity and allows 80386- 


based designs to use more cost-effective 
memory subsystems than equivalent 
80286-based systems. With bus pipelin¬ 
ing, the 80386 places the control and 
address signals of the next bus cycle on 
its external bus while the current bus 
cycle is still in progress. This allows the 
memory subsystem to start decoding 
the next bus operation while the cur¬ 
rent operation is completing. As a re¬ 
sult, the memory control circuitry and 
memory devices have a longer time to 
decode memory cycles. 

Using bus pipelining, a 32-bit 
memory access can be accomplished, 
depending on the speed and design of 
the memory subsystem, as fast as 125 ns 
(two 62.5-ns cycles in a 16-MHz zero- 
wait-state bus operation). This access 
time compares favorably with the 1 
microsecond (16 cycles at 62.5 ns) re¬ 
quired to access 32 bits of information 
via the 8-MHz one-wait-state, 16-bit-bus 
of typical 80286 computers. 

Figure 4 shows the operation of 
bus pipelining. The memory subsystem 
indicates to the 80386 via the next ad¬ 
dress signal (NA#) that it is ready to ac¬ 
cept the address and control signals for 
the second cycle while the first cycle is 
still in progress (the # symbol indicates 
the signal is active in its low state). The 
80386 places the control (BE0#-BE3#, 
M/IO#, D/C#, W/R#) and address (A2- 
A31) signals on the bus and indicates 
the validity of these signals with a nega¬ 
tive transition of address status (ADS#). 
The memory subsystem uses this transi- 


FEBRUARY1987 


55 





























































UnleashThe Most Powerful 
Development Tbols 

OnThe Planet DOS. 



UNIFY DBMS/DOS.The UNIX Worid Leader 
Brills A New Dimensionlb DOS Application Development 


What happens as the DOS world expands? As a 
new generation of hardware takes over? As networking 
becomes more important? The potential is enormous. 
But until now, the tools to achieve it have been limited. 

Now a leader from another world unleashes that 
potential: UNIFY® DBMS. The leading relational 
DBMS in the UNIX™ world. And now, the most 
advanced set of application development tools in the 
DOS world. 

With UNIFY DBMS, DOS developers have new 
power to build more sophisticated applications than ever 
before possible. 

The power to write high performance “C’ 
programs that will access the data base, using 
Unify’s Direct Host Language Interface. 

The power of an industry standard 
query language—SQL. 

The power of unmatched speed in pro¬ 
duction applications. Only UNIFY DBMS is 
specifically engineered for transaction through¬ 
put. With unique performance features like 
PathFinder™ Architecture multiple access meth¬ 
ods, for the fastest possible data base access. 


UniForum 

January 20 - 23, 1987 
Washington Convention Center 
Washington D.C. 








The power of comprehensive pro¬ 
gram development and screen man¬ 
agement tools. Plus a state- 
of-the-art fourth generation 
report-writer. 

What’s more, with UNIFY 
DBMS, the potential of networked 
applications becomes a reality. Unlike 
DBMS systems which were originally 
single-user (and which have a long stretch 
to accommodate more users), UNIFY DBMS 
is a proven multi-user system. 

And because UNIFY DBMS/DOS is 
the best of two worlds, it offers you the most 
powerful benefit of all: DBMS applications that 
can grow as your needs grow. From single user 
DOS. To networked DOS. To multi-user UNIX. 
All without changing your applications. 

Call the Unify Information Hotline 
for our free booklet: The New DOS World. 
(503) 635-7777 


uniFU 

CORPORATION 

4000 Kruse Way Place 
Lake Oswego, OR 97034 


D1986 Unify Corporation. UNIX™ is a trademark of AT&T Bell Laboratories. 
CIRCLE NO. 156 ON READER SERVICE CARD 






Adapted from Intel 80386 Data Sheet 


80386 


FIGURE 4: Bus Pipelining Operation 


CLK2 

(INPUT) 

BEO# - BE3#,A2 - A31, 
M/IO#,D/C#,W/R# 
(OUTPUTS) 

ADS# 

(OUTPUT) 

NA# 

(INPUT) 

READY# 

(INPUT) 

LOCK# 

(OUTPUT) 


DO - D31 
(INPUT DURING READ) 



A fast memory subsystem can use the next address (NA#) line to overlap the 
fetching of one operand with the address decoding of the next operand. 


tion of ADS# to latch the control and 
address signals and to start decoding 
the operation for the next bus cycle 
(cycle 2). When cycle 1 completes, the 
memory subsystem then activates the 
READY# signal to indicate to the 80386 
that it is ready to start cycle 2, the ad¬ 
dress and control signals of which have 
already been decoded during the exec¬ 
ution of cycle 1. Having the decoding 
already accomplished allows the mem¬ 
ory system to complete the memory 
bus cycle time in two CPU clock cycles. 

INSTRUCTION ENHANCEMENTS 

The instruction set of the 80386 is a 
superset of that found in the 8086/88 
and 80286 microprocessors. Its high¬ 
lights are as follows: 

• Instructions such as multiply (MUL) 
have been optimized by using an 
early-out algorithm in which the most 
significant bits of the multiplier are 0. 
This allows a multiply instruction to 
execute in 0.36 microsecond (that is, 
9 cycles * 62.5 ns at 16 MHz). 

• The scaled index address mode has 
been added for instructions using 
memory references. This address 


mode permits the contents of an 
index register to be scaled—that is, 
multiplied by 1, 2, 4, or 8—before 
being added to the base. This allows 
for efficient indexing into data arrays 
with multiple-byte entries. For ex¬ 
ample, the instruction 

MOV EAX, [EDI*8] [EBX] 

can retrieve into EAX a double word 
from a data array with its base address 
stored in EBX. The number of the en¬ 
try to be accessed (0 = first entry) is 
stored in EDI with the multiplier, in 
this case indicating an array with eight 
bytes per entry. 

• A 64-bit barrel shifter in the 80386 ex¬ 
ecution unit optimizes shift, multiply, 
and divide operations. With the barrel 
shifter, multiple-bit shift operations 
can be executed in one clock cycle. 
The new shift right double (SHRD) 
and shift left double (SHLD) instruc¬ 
tions use this capability to allow bit 
string manipulations typically found in 
BITBLT graphics routines. The SHRD 
and SHLD instructions use two 32-bit 
registers to allow a 64-bit string to be 
shifted multiple positions in a single 


CPU clock cycle. These instructions 
allow BITBLT operations to execute 
on the 80386 in a small fraction of the 
time possible on the 80286 using mul¬ 
tiple shift instructions. 

• Support for 32-bit operands and ad¬ 
dresses has been added to the instruc¬ 
tion set. The 32-bit operand capabili¬ 
ties are available in all modes of the 
80386. In real mode, the default size 
of the operands and addresses is 16 
bits, but can be overridden by a pre¬ 
fix byte. This is necessary to maintain 
full compatibility with programs de¬ 
veloped for the 8086/88 and 80286. In 
protected mode, operand and address 
size is governed by a bit in the seg¬ 
ment descriptor. Use of the 32-bit 
operands and addresses in each 80386 
mode is covered later. 

A 4GB IMPROVEMENT 

Protected mode of the 80386 features 
a large linear address programming 
model. Using this facility, the maximum 
size of a segment can be increased to 
4GB from the traditional 64KB. In this 
programming model, large applications 
can reside in a single protected mode 
segment, thus eliminating the need for 
the application to manage multiple 
code and data segments. 

Protected mode operating systems 
such as XENIX/386 provide the linear 
address programming model to applica¬ 
tions. The operating system sets the 
maximum size of an application seg¬ 
ment by specifying a 20-bit segment 
limit and setting the granularity bit in 
the segment descriptor (see figure 5). 
When this bit is set to 0, the segment 
limit is specified in bytes and yields a 
maximum segment size of 1MB. Byte 
granularity is the default value in the 
descriptor and allows compatibility with 
programs written for the 80286. When 
the granularity bit is set to 1, the seg¬ 
ment granularity is in pages (4KB per 
page). This granularity yields a maxi¬ 
mum segment size of 4GB. 

Intel has added memory paging 
functions to the 80386 to allow linear 
addresses (as seen by programs) to be 
mapped to physical memory addresses. 
This facility allows the efficient imple¬ 
mentation of virtual memory systems. 

In virtual memory systems, the 
operating system creates an environ¬ 
ment that allows execution of single or 
multiple applications that are larger 
than the installed physical memory. The 
operating system stores on disk the por¬ 
tions of the application that are least re¬ 
cently used. Then, as code or data por¬ 
tions of the application are needed for 
execution, the operating system brings 


FEBRUARY 1987 


57 















































... DELIVERS THESE ESSENTIAL FEATURES. 
DOES YOUR DRMS? 


MDBS III is more powerful than 
most mainframe data base management 
systems . and less expensive. MDBS III 
was designed for serious application 
developers like you. Like the developers 
of Solomon III, the “Number One” 
accounting system. And all the others 
who demand these essential features 
MDBS III provides: 

DATA STRUCTURING -So flexible it 
captures any data relationship you can 
imagine. So comprehensive you’ll design 
complex data bases faster than ever. 
TRUE MULTI-USER- Few DBMSs give 
you as many facilities to guard against 
haphazard concurrent data modification 
as MDBS III does, down to the locking 
of individual data records. 
PERFORMANCE- MDBS III gives you 
fast data modification and retrieval plus 
extensive performance tuning facilities. 
DATA INTEGRITY -MDBS III pro¬ 
vides airtight integrity assurances. . . from 
range checking to transaction-logging to 
enforcement of data relationships . . all 
automatically. 


PHYSICAL DATA PROTECTION- 

You get automatic recovery from media 
as well as from physical data destruction. 
DATA SECURITY —Protect your data 
using passwords, encryption, and read/ 
write access down to the field level. 
PORTABILITY- MDBS III runs on a 
range of mini and micro computers, 
including LANs, and supports a variety 
of host language interfaces. 

SUPPORT — mdbs is there when you 
need us, with in-depth seminars, tele¬ 
phone support, individual consulting 
and contract programming to help you 
develop and install your applications. 

Call us today at 800-344-5832 for more 
information; in Canada or Illinois, dial 
312-303-6300. Or write mdbs, P.O. Box 248, 
Lafayette, IN 47902, TELEX 209147 
ISE UR. 


CIRCLE NO. 211 ON READER SERVICE CARD 


mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet. 



Adapted from Intel 80386 Data Sheet 


80386 

FIGURE 5J 80386 Segment Descriptor 


31 


SEGMENT BASE 15. . .0 




SEGMENT LIMIT 15. . .0 

BASE 31.. .24 

G 

D 

0 

0 

LIMIT 19.. .16 

P 

DPL 

1 

S 

TYPE 

1 1 

A 

BASE 23.. .16 


0 BYTE 
ADDRESS 
0 


+ 4 


BASE Base address of the segment 
LIMIT The length of the segment 
DPL Descriptor privilege level: 0 - 3 
S Segment descriptor: 0 = system descriptor 

1 — code or data segment descriptor 
TYPE If system descriptor, TYPE indicates TSS, LDT, or 
GATE; if code or data descriptor, TYPE indicates 
reading, writing, or executing privileges 


A 

G 


Accessed bit 

Granularity bit: 1 = segment length is page 
granular; 0 == segment length is byte granular 
Default operation size (recognized in code seg¬ 
ment descriptors only): 1 = 32-bit segment; 

0 = 16-bit segment 

Present bit: 1 - present; 0 ~ not present 

Bit must be zero for compatibility with future processors 


A segment’s starting memory address, size (up to 4GB), and attributes are all given by its segment descriptor. 



80386 

PAGING 

MECHANISM 


LINEAR ADDRESS 
(AS SEEN BY PROGRAM) 


PHYSICAL 
MEMORY PAGES 


PROGRAM 

CODE 

AND 

DATA 


them into memory from disk, while re¬ 
storing to disk the contents of the least 
recently used portions of memory. This 
operation occurs transparently to the 
application, which perceives the entire 
program as being memory-resident. 

With memory paging support, such 
as that implemented in the 80386 with a 
4KB page size, the operating system can 
easily allocate contiguous memory to an 
application simply by mapping a num¬ 
ber of noncontiguous physical memory 
pages into the requested logical pro¬ 
gram space. This mapping is performed 
by updating the page directory and 
tables. Figure 6 shows how the page di¬ 
rectory and tables are used to translate 
the 32-bit linear address that the pro¬ 
gram sees into a noncontiguous set of 
physical memory pages. 

A set of control registers, shown in 
figure 7, governs the operation of mem¬ 
ory paging. Paging is enabled by setting 
a bit 31 in control register CRO. Another 
control register (CR3) is set by the 
operating system software to point to 
the location in memory that contains 
the base of the page directory table. 

This table, together with the page ta¬ 
bles, defines the translation between 
the 32-bit linear address that is derived 
from the segmentation model and a 32- 
bit physical memory address. 

The page directory is 4KB in size. 
This table size allows up to 1,024 page 
directory entries, each containing the 
address of a page table. A page table is 
4KB and allows up to 1,024 page table 
entries, each containing the address of a 
4KB page frame in physical memory. 
Figure 8 shows how the memory pag¬ 
ing mechanism generates a 32-bit physi¬ 
cal address from the 32-bit linear ad¬ 
dress output by the segmentation unit. 

The page table entries also contain 
bits that are updated by the 80386 in 
order to help the operating system 
manage the memory pages. A dirty flag 
is set to 1 by the 80386 whenever a 


page is written to. This lets the operat¬ 
ing system know that the contents of 
the page have been modified since the 
last time it was brought in from disk. 
An accessed bit also is set by the 80386 
whenever a page is read or written to. 
This bit allows the operating system to 
determine which memory pages have 
been most recently accessed. 


Another feature that helps the 
operating system implement memory 
management functions is the use of the 
present bit in the page table entries. 
When a page is swapped to disk, the 
operating system marks the page table 
entry as not present. If an access occurs 
to a page that is not present in memory, 
the 80386 generates a page fault. The 


FIGURE 6: Linear to Physical Address Conversion 


The 80386 paging mechanism maps the program’s linear address space into physi¬ 
cal memory. The operating system decides how pages are mapped. 


4 KB 

j- 















FEBRUARY 1987 


59 


Adapted from Intel 80386 Data Sheet 





















































































Announcing... 


The First 

80386 C and Fiscal 
Compilers for the 
Professional Developer 


MetaWare, Incorporated announces the first available C and Pascal 
compilers that generate protected-mode 80386 code. 

For running on any 80386 machine that runs MS-DOS (e.g.. The Compaq, Deskpro 386). The compilers are functionally 
identical to the well-respected 8086/286 MS-DOS High C® and Professional Pascal® compilers that have received out¬ 
standing reviews in such magazines as Computer Language, Dr. Dobbs and PC Tech Journal. Our compilers are currently 
used by such industry leaders as Ashton-Tate, AutoDesk, Ansa and Lifetree. Now you can get them generating 80386 
code. 


If you have an application that requires the large 32-bit address space and the full 32-bit registers of the 80386, expand 
your marketplace to the rapidly growing supply of 80386 MS-DOS machines. Contact MetaWare for your 80386 software 
solution today! 



903 Pacific Avenue, Suite 201, Santa Cruz, CA 95060-4429 
408-429-6382 Telex: 4930879 


The Clear Choice for Large Projects 


High C and Professional Pascal are trademarks of MetaWare Incorporated © 1987 MetaWare. 


CIRCLE NO. 259 ON READER SERVICE CARD 








Adapted from Intel 80386 Data Sheet 


80386 

FIGURE 7: 80386 Control Registers 



31 

30 







5 

4 

3 

2 

1 

0 

CRO 

PG 








w 

ET 

TS 

EM 

MP 

PE 


CR1 


_ IMTCI DCCCD\/Cn 














CR2 

PAGE FAULT LINEAR ADDRESS 

CR3 

PAGE DIRECTORY BASE ADDRESS 

0 

0 

0 

0 

0 

0 

0 

0 

0 

0 

0 

0 


12 0 


PG Paging enable; ET Processor extension; TS Task switched; EM Emulate coprocessor ; MP Monitor coprocessor ; PE Protection enable 

CRO regulates memory management and coprocessor handling. CR1 is reserved by Intel. CR2 is set by the 80386 to the linear 
address that last generated a page fault. CR3 is the physical address of the page directory, which is always page-aligned. 


fault signals the operating system that 
the page whose linear address is stored 
in control register 2 should be brought 
into memory. As the page is brought 
into memory, the operating system up¬ 
dates the page table entry as present 
and returns from the page fault to per¬ 
form the desired memory access. 

To support the memory paging 
functions without accessing the page di¬ 
rectory tables on each memory access, 
the 80386 contains an internal 32-entry 
cache called the translation lookaside 
buffer (TLB). This cache automatically 
keeps the address of the 32 most re¬ 
cently used page table entries for 
speedy look-up during memory access¬ 
es. The operating system must flush the 
contents of the cache whenever a page 
table entry is marked not present in or¬ 
der to maintain coherency between the 
cache and the pages present in mem¬ 
ory. The contents of the cache are 
flushed whenever CR3 is written to. 

When the TSS data structures are 
used by the operating system to per¬ 
form task management functions, the 
address of the page directory (CR3) as¬ 
sociated with a task is saved in its TSS 
when a task context switch is per¬ 
formed. Because a single page directory 
entry has the capacity to address a full 
page table of 1,024 entries (4MB of 
memory), it is doubtful that an entire 
page directory would be assigned to 
each task. A single page directory entry 
per task should suffice in most cases. 

The 80386 offers I/O permission 
functions that are an extension of the 
I/O protection level (IOPL) mechanism 
found on the 80286. The basic IOPL 
mechanism prevents applications with 
low privilege levels from accessing any 
I/O device without the intervention of 
the operating system. This mechanism 
has been extended on the 80386 to al¬ 
low the operating system to specify the 
I/O devices (I/O addresses) that it wants 
to protect from direct access by applica¬ 


tions. This capability is useful in the 
80386’s virtual-8086 mode (described 
later) where it prevents direct access to 
I/O devices by 8086/88 applications and 
simulates low-bandwidth I/O devices. 

The I/O devices to be protected by 
an operating system are specified via 
the I/O permission bit map, a variable 
length map where each bit corresponds 
to a byte I/O port address. When I/O 
operations are performed to a device 
address whose corresponding I/O per¬ 
mission bit is 1, control is transferred 
by the 80386 to the operating system 
via a general protection fault. The oper¬ 
ating system then can take the appro¬ 
priate action to protect or simulate a 
specific I/O device at the accessed I/O 
address. The base address of the I/O 
permission bit map is contained in the 
active TSS and is automatically saved on 
a task context switch. Because each task 
is likely to have access to different de¬ 
vices, each task should normally have 
its own I/O permission bit map. 

MODES OF OPERATION 

Real mode is the default mode of the 
80386 upon reset. This allows the 80386 
to begin execution in a manner compat¬ 
ible with the 8086/88 and 80286. The 
memory addressing mechanism, 1MB 
memory limitation, and 64KB-maximum 
segmented programming model are 
identical to real mode in the 80286. 
Most programs written for the 8086/88 
and 80286 should run without modifica¬ 
tion. For a discussion of trouble areas, 
see the sidebar “Programming Consid¬ 
erations for the Intel Family.” 

The key distinction between 80386 
real mode and that of its predecessors 
is its support of 32-bit operands and ad¬ 
dresses in the instruction set. By using 
override instruction prefixes for oper¬ 
and size and address size, the 16-bit de¬ 
fault nature of instruction operands and 
addresses can be specified to be 32 bits 
in size. The specification of 32-bit oper¬ 


ands yields significant performance ben¬ 
efits in arithmetic and memory transfer 
operations. The 32-bit addressing fea¬ 
ture is less important in real mode due 
to the maximum segment limit of 64KB 
and the 1MB physical address limitation, 
but it does allow the use of the ex¬ 
tended addressing specifications, such 
as scaled indexing with the full register 
set available as base and index. 

The operand size prefix (66H), 
when used preceding an instruction in 
real mode, indicates that the operands 
to be used are 32 bits. For example, 
when the instruction MOV AX,BX is pre¬ 
ceded by the operand size prefix, the 
result is an instruction that moves the 
32-bit register EBX to EAX. Similarly, 
the address size prefix (67H) can be 
used on individual instructions to spe¬ 
cify extended addressing and can be 
used in combination with the operand 
size prefix. With both the operand size 
and address size override prefixes, an 
instruction can be created, such as 

MOV EBX, [EAX] [ESI*4] ARRAY + 80 

This specifies a base value (EAX), a 
scaled index value (ESI * 4), and a dis¬ 
placement (ARRAY + 80) that are com¬ 
bined to form an offset, the 32-bit con¬ 
tents of which are placed into the EBX 
register. Other improvements are avail¬ 
able in 80386 real mode. For more in¬ 
formation, see the sidebar “Making the 
Most of the 80386 Today.” 

Protected mode in the 80386 offers 
a superset of the functions found in that 
mode in the 80286. The privilege-level- 
based memory and I/O protection sys¬ 
tem, 8- and 16-bit operand modes, and 
64KB-maximum segmented program¬ 
ming model of the 80286 are supported 
in the 80386’s protected mode. In addi¬ 
tion, memory paging, large linear ad¬ 
dress space, and the I/O permission bit 
map can be used in protected mode. 

The TSS, introduced in the 80286, 
now includes data defined by the oper- 


FEBRUARY 1987 


61 







































80386 


. 

FIGURE 8: 80386 Memory Paging Mechanism 



A two-level scheme is used to access a page. In a linear address, bits 22—31 act as 
an index into the page directory, selecting a page table. Bits 12—21 index into the 
selected page table to designate the page. Bits 0-11 give the offset into the 4,096- 
byte page. A page cache is used to avoid this look-up for commonly used pages. 


ating system software as well as the 
hardware registers. The 80386 I/O per¬ 
mission bit map, which allows precise 
control over I/O port usage, is also con¬ 
tained in the new TSS. 

The 80386 protected mode in¬ 
cludes a more effective mechanism to 
switch to real mode. In the 80286, pro¬ 
tected mode is entered by setting the 
protection enable (PE) bit in the ma¬ 
chine status word. Once set, the PE bit 
in the 80286 cannot be reset. The 80286 
must be reset to return to real mode, 
an operation taking hundreds of micro¬ 
seconds. The 80386 can be returned to 
real mode simply by resetting the PE bit 
in control register 0. 

The 80386 protected mode pro¬ 
vides a programming environment fully 
compatible with that of the 80286; 16- 
bit protected mode applications can be 
executed because the segment descrip¬ 
tors function the same as those on the 
80286 when initialized for use by pro¬ 
grams for the 80286. For example, 
when initialized for use by such a pro¬ 
gram, the granularity (G bit) in the seg¬ 
ment descriptors (see figure 3) is set to 
0, indicating byte granularity. This yields 
memory segments compatible with the 
64KB maximum limit of the 80286. Sim¬ 
ilarly, the default operation size (D bit) 
is set to 0, indicating the use of 16-bit 
operands and addresses equivalent to 
those of the 80286. 

When 80386 descriptors are initial¬ 
ized for use by programs developed for 
the 80386, the additional capabilities of 
protected mode can be enabled to 
create a 32-bit programming environ¬ 
ment. Full 32-bit applications (using 32- 
bit operands and addresses) can exe¬ 
cute without instruction prefixes, as is 
the case in real mode. In addition, the 
32-bit programming environment pro¬ 
vides data segments of 4GB maximum 
size by selecting the page granularity in 
the corresponding descriptors. 

Combined, the 16-bit compatibility 
features and additional functions of 
80386 protected mode make it ideal for 
multitasking operating systems support¬ 
ing a variety of programming environ¬ 
ments. An operating system can provide 
a virtual memory multitasking environ¬ 
ment capable of concurrently executing 
16- and 32-bit protected mode applica¬ 
tions. The nature of each application 
(16- or 32-bit) is determined by the 
configuration of its segment descriptors. 

FULL FAMILY COMPATIBILITY 

When combined with virtual-8086 mode 
(an extension of protected mode), the 
80386 provides compatibility with appli¬ 
cations developed for the 8086/88 while 


simultaneously providing a full, 32-bit, 
large linear address programming envi¬ 
ronment in its protected mode. With 
this capability an operating system can 
provide a multiplicity of programming 
environments that span those in the en¬ 
tire Intel microprocessor family. This 
family compatibility makes virtual-8086 
mode one of the most significant ad¬ 
vances of the 80386. (Virtual in this 
context refers to a technique whereby 
an entire processor environment, or 
machine , is transparently simulated; 
the term should not be confused with 
virtual memory techniques used in 
demand-paged operating systems.) 

Virtual environments have histori¬ 
cally been used as bridges to provide 
upward compatibility with existing ap¬ 
plications while offering a new environ¬ 
ment with enhanced functions and per¬ 
formance. An example of this concept is 
IBM’s virtual machine (VM) operating 
system architecture for its mainframe 
systems. VM allows existing applications 
to be used for production work while 
new applications that take full advantage 
of the features of the new machines are 
being developed. 

Virtual-8086 mode allows virtualiza¬ 
tion of only a real mode environment. 
Applications for the 8086/88 can exe¬ 
cute transparently in virtual-8086 mode 
under control of a protected mode 
operating system. These applications 
perceive that they are running in real 
mode while actually executing in vir¬ 
tual-8086 mode. Virtual-8086 mode, 
however, does not provide for execu¬ 
tion of 80286 or 80386 protected mode 
software under supervision of a higher- 
level program—no level exists that is 
logically higher in privilege than 0. The 


80386 does not allow a protected mode 
operating system to execute under the 
control of another like system. 

Technically, virtual-8086 mode is 
a subset of protected mode and is en¬ 
abled by setting the VM bit in the flags 
register (see figure 3). In a multitasking, 
protected mode operating system, vir¬ 
tual-8086 mode is enabled when an 
8086/88 application is executed. The 
primary difference between virtual-8086 
and protected modes is in the interpre¬ 
tation of the segment registers. In vir¬ 
tual-8086 mode, the normal protected 
mode segmentation unit is bypassed 
and the linear address is calculated as it 
is in real mode—the segment register 
value is shifted left by 4 bits and added 
to the offset. Although the 32-bit ad¬ 
dressing modes are allowed in virtual- 
8086 mode (by use of instruction pre¬ 
fixes), segments are still limited to 
64KB, limiting the value of 32-bit ad¬ 
dressing. The 64KB limitation also 
means that virtual-8086 mode address¬ 
ing is confined to the same 1MB physi¬ 
cal address of the 8086/88. 

Applications that are designed for 
the 8086/88 execute transparently in vir¬ 
tual-8086 mode. The main difference 
between execution in virtual-8086 and 
real modes is that in virtual-8086 mode 
all interrupts are vectored through the 
protected mode interrupt descriptor ta¬ 
ble (IDT). When a hardware, software, 
or processor trap interrupt occurs, the 
IDT entry for that interrupt, typically an 
interrupt or task gate initialized by the 
protected mode operating system, 
causes the VM bit to be reset. The inter¬ 
rupt handler, executing in protected 
mode, can either take care of the inter¬ 
rupt itself or reflect the interrupt back 


62 


PC TECH JOURNAL 


Adapted from Intel 80386 Data Sheet 

















































K: 


software developed for 
C^ i^ixfoer of die Intel microproees- I 
sOr faa% executes without modifica¬ 
tion on die others. However, when a 
Software product Is under develop¬ 
ment, the developer should follow a 
few rules to ensure the product s up¬ 
ward compatibility and its migration 
to die higher-performance members 
of the laniHy. Some generally accepted 
guidelines are listed here. 

♦ A program that is intended to run 
on all Intel processors should be 
witten to the least common denom¬ 
inator, the 8086/88. 

♦ Any use, implicit or explicit, of the 
values of registers, flags, or data 
structures that are declared unde¬ 
fined or reserved in the Intel docu¬ 
mentation should be avoided. For 
example, a program that uses die re¬ 
served fields of an 80286 descriptor 
most likely will not run on an 
80386. The multiply (MUL) instruc¬ 
tion provides another example? the 
state of the zero Bag is toed as un¬ 
defined following the execution of 
MUL. A program that depends on 
die state ofthe zero flag after MUL is 
executed on one member of the 
family may behave differently when 
run on another member, 

♦ A program should not depend on 
the power-on state of processor reg¬ 
isters. The value of the various regis¬ 
ters and flags after reset is different 
on&edifferent processors. The pro¬ 
gram should explicitly load the re¬ 
quired register values. 


Instruction ppcode^ fhat are not ex¬ 
plicitly ckx^ftenfol fn the Intel lit¬ 
erature should not tb used. An op¬ 
code that is not patfof the sup¬ 
ported instructktfi set for a particu¬ 
lar processor may be defined differ¬ 
ently in a later processor, even if the 
opcode appeared ttvhave a function 
in the earlier processor. 

An application shotjld not contain 
seff-modifying oodfc#tie to the dif¬ 
ference in length for 

the variot^JHOcc^pr^ an instruc¬ 
tion modification sequence that 
works correctly on xme processor 
may not modify the h&get instruc¬ 
tion until after it hasfeeen pre¬ 
fetched on a differed! processor. In 
this case, tli^ tmmc3^|ed instruction 
would be executed timber then the 
modified iniitietioiL 
Because of increases in clock speed 
and optimisations In the architec¬ 
ture, the 8B|8 '$ am 180386 tend to 
execute specific ccafe sequences sig¬ 
nificantly faster thanthe 8086/88. In 
addition, s^fems toed on the same 
processor may ran at different clock 
speeds. Anf fiptte ta interacts with 
realtime evefi& or impends on its 
execution tip? to perform its func¬ 
tion shouldtise a timing source that 
is independent of the processor 
dock speec^jlbtecttt^^ 
pendent timing services are typically 
provided by the operating system 
and/or a hardware timer. 

Each peripheral chip or controller 
in a system has a minimum I/O re¬ 


covery time—that is, the time re¬ 
quired by that peripheral between 
successive I/O cycles. If a peripheral 
was designed for operation in an 
8086/88 system, this minimum I/O 
recovery time may be violated when 
the peripheral is used in the pipe¬ 
lined bus architecture of an 80286- 
or 80386-based system. In general, 
8086/88 I/O speed can be simulated 
by inserting a JMP $-f2 instruction . 
between successive I/O cycles to the 
same peripheral. 

• Routines for the 80286 and 80386 
should not be sensitive to the state 
of the PE bit in the machine status 
word Although the 80386 virtual- 
8086 mode runs with real-mode se¬ 
mantics, it executes with the PE bit 
set in the machine status word indi¬ 
cating protected mode. The visibility 
of the PE bit via the store machine 
status word (SMSW) instruction may 
cause problems for dual-mode 
code~-that is, code that attempts to 
act differently based on whether the 
processor is executing in real or 
protected mode. 

Most of these guidelines are 
based on common sense; nonetheless, 
many applications violate one or more 
of them and therefore foil on one of 
the Intel processors. One reason may 
be that the application has been de¬ 
bugged and tested on one processor 
before another processor is available. 
In all cases, the appropriate Intel liter¬ 
ature should be consulted. 

—Caldwell Crosswy and Mike Perez 


to the code that normally would have 
been invoked in the 8086/88 applica¬ 
tion. This reflection is accomplished by 
retrieving the appropriate target address 
from the 8086-equivalent interrupt vec¬ 
tors (the table of 4-byte vectors starting 
at virtual address 00000000), manipulat¬ 
ing the stack frame to contain the ad¬ 
dress of the 8086/88 interrupt handler, 
and returning to virtual-8086 mode. The 
interception and reflection of interrupts 
is one of the basic functions of a pro¬ 
tected mode operating system supervis¬ 
ing the execution of an 8086/88 applica¬ 
tion in virtual-8086 mode. 

The other differences between vir¬ 
tual-8086 and real modes involve privi¬ 
leged instructions, IOPL sensitivity, and 
I/O permission. The ability to control 
the use of privileged instructions and 
access to I/O devices in virtual-8086 
mode allows the operating system to 


maintain concurrency between 8086 
and protected mode applications. 

Privileged instructions cause a gen¬ 
eral protection fault if executed at a 
privilege level other than 0. Because 
code executes at privilege level 3 in vir¬ 
tual-8086 mode (real mode implicitly 
executes at level 0), these instructions 
trap to the operating system, which exe¬ 
cutes at level 0. Load machine status 
word (LMSW) and load global descrip¬ 
tor table (LGDT) are examples of privi¬ 
leged instructions. Execution of these 
instructions typically indicates a pro¬ 
gram’s intent to enter protected mode. 
An application that executes these in¬ 
structions is usually aborted by the 
operating system because protected 
mode applications are not allowed to 
execute in virtual-8086 mode. 

Sensitive instructions are those 
whose operation is affected by the cur¬ 


rent IOPL. Again because virtual-8086 
mode code runs at privilege level 3, the 
2-bit IOPL field in the flags register (fig¬ 
ure 3) must be set to 3 to avoid traps 
on these instructions. The sensitive in¬ 
structions in virtual-8086 mode are soft¬ 
ware interrupt (INT), interrupt return 
(IRET), and push and pop flags (PUSHF/ 
POPF). Though INT is IOPL-sensitive in 
both protected and virtual-8086 modes, 
PUSHF, POPF, and IRET are sensitive 
only in virtual-8086 mode. This allows 
the operating system to keep track of 
and virtualize the interrupt flag. For ex¬ 
ample, an 8086/88 application can at¬ 
tempt to disable hardware interrupts 
with the clear interrupt flag (CLI) in¬ 
struction. The operating system can 
make interrupts appear disabled to the 
application and continue to handle 
hardware interrupts necessary for oper¬ 
ating system administrative functions 


FEBRUARY 1987 


63 





The 3-in-l applications development tool 
for every Tom, Dick and Harriett 



Presenting the first database 
applications development tool 
that delivers the promises of 
4th-generation lan¬ 
guages on the micro¬ 
computer. 

It’s SIMPLE Software. 
SIMPLE stands for SYSTEM 
IMPLEMENTATION by EXAMPLE: and 


it delivers the absolute best balance 
of power and ease-of-use. 


SIMPLER THAN EVER BEFORE. 


SIMPLE lets you jump in at any level 
of experience and unleash the full 
processing power of the PC. It has a 
totally non-procedural way of doing 
things that flattens-out the learning 
curve. You can automate everyday 
business tasks or prototype new 
applications without ever having to 
write a single line of procedural code. 

SIMPLE enables experienced 
programmers to achieve higher levels 
of productivity. And for developing 
mainframe applications, SIMPLE is 
the perfect prototyping tool—com¬ 
bining ease-of-use, speed, and high- 
quality system documentation. 


YOU GET 3-IN-l. 

1. IT'S A DESIGN TOOL 
SIMPLE allows you to quickly proto¬ 
type applications on the microcom¬ 
puter—sit right down and draw, edit, 
and specify processing logic with a 
few keystrokes. SIMPLE aids in the 
process of structured design by 
organizing development efforts in a 
building-block fashion. Experienced 
developers move quickly and easily 
from task to task. Less experienced 
users are literally guided through 
the entire applications development 
process. 

2. IT’S A RELATIONAL DATABASE 
MANAGER. 

SIMPLE offers exceptional speed per¬ 
formance. It is written in Assembler 
and incorporates a highly optimized 


B-tree data access method that elim¬ 
inates record sorting. SIMPLE also 
uses a dynamic single-record index. 
You can have an unlimited number 
of indices in any record. Each index 
may be either a single or concate¬ 
nated key. SIMPLE’s relational joins 
are easy to construct and more 
efficient to process. Joins are accom¬ 
plished dynamically at time of proc¬ 
essing and support one-to-many and 
many-to-many relationships. 

3 . IT’S AN APPLICATIONS 
GENERATOR. 

It is the most practically functional 
applications generator on the market 
today. SIMPLE is completely non¬ 
procedural, never forcing you back 
to procedural methods, letting you 
accomplish even the most complex 
databased applications in the most 
easy-to-use-and-understand fashion. 

A SINGLE, VISUAL 4GL 
LANGUAGE. _ 

Uniquely, every step in program 
development from input screens, to 
reports, to complex processing logic 
is accomplished in SIMPLE’s all-visual 
worksheets. It is fully non-procedural 
and totally picture-oriented. Design 
right on the screen, and SIMPLE’s 
built-in pattern-recognition logic 
automatically generates all the appli¬ 
cation code for you. You never have to 
leave SIMPLE’s 4GL non-procedural 
technique. 

POWERFUL WORKSHEETS. 

SIMPLE provides three powerful, 
yet easy-to-learn worksheets—a File 
Worksheet, Specify Worksheet and 
Design Worksheet. You need only 
to define a file, then SIMPLE creates 
the basic program for you. Enhance¬ 
ments are done on SIMPLE’s Design 
and Specify Worksheets. 

In the Design Worksheet, you 
simply paint or draw an example of 
the input screen or report you want. 



Company Managers like 
Tom easily develop custom¬ 
ized applications like this 
Branch Reporting System 
which reports information 
from support service calls. 
Tom now has a system which 
validates certain information 
and provides a customer his¬ 
tory to improve the branch’s 
support capabilities. With 
SIMPLE’s Specify Worksheet on 
screen, Tom simply joins data 
from four different files and 
establishes their relationship. 



Information Center Staff 
Members like Dick easily 
create new microcomputer 
applications systems like this 
Lead-Tracking System. Dick 
is able to sit down with the 
Director of Marketing and 
review the main entry screen 
developed on SIMPLE which 
shows the prospect demo¬ 
graphic information, the 
media source and date from 
which each lead was gener¬ 
ated, and the fulfillment liter¬ 
ature to be sent. 



System Analysts/Pro¬ 
grammers like Harriett 
easily prototype design 
changes while interacting 
with Department Heads. Har¬ 
riett has prototyped some 
requested changes in a Main¬ 
frame Payables System. With 
the help of SIMPLE, she has 
built a test database with 
data imported from the main¬ 
frame and is able to review 
the check-ledger report, in 
the Controller’s office on her 
portable computer. 


The Design screen may be painted 
exactly as you want using SIMPLE’s 
built-in, full-screen editor which 
offers a wide range of capabilities 
to aid you—including the ability 
to delete or insert a character or an 
entire line, move or copy blocks of 
information, lasso text or variables, 
and window to other worksheets 
in one or two keystrokes. Powerful 
specification macros are invoked pro¬ 
viding application users the ability 
to pop-up a window and browse 
through another file, interrupt data 
entry to perform another program, 
provide context-sensitive help, and 
perform conditional processing 
based on the user’s input. 

In the Specify Worksheet, you 
implement your processing logic. You 
never have to fall back to procedural 
programming to get the processing 
power you need. Range checking and 
data validation are easily implemented, 
visually. Conditional processing 
statements are quickly set up. 
Arithmetic operators, date operators, 
and a full set of string functions are 
available. You specify an example of 
how you want your data processed, 
and SIMPLE creates the program. 


A POWERFUL MENU GENERATOR. 

SIMPLE’s power gives you the easy 
flexibility to generate unlimited 
levels of user-guidance menus, as 
your applications require. There are 
limitless design options for effective 
“point-and-shoot” menu creation. 
And you have total freedom to build 
menus before, during or after devel¬ 
opment, unmatched in other systems. 


SIMPLE, SIMPLER, SIMPLEST. 

Ask for SIMPLE at your computer 
dealer. Or call us direct for the dealer 
nearest you and a full-functioning 
SIMPLE demo package with a Quick- 
Start manual for only $9-95* 

* Includes shippingand handling. California residents add sales tax. 

SYSTEM IMPLEMENTATION BY EXAMPLE is a registered 
trademark of Accuphase, Ltd. 

IBM PC is a trademark of International Business 
Machines. Corp. 


rw^r 


D SIMPLE 


SYSTEM IMPLEMENTATION BY EXAMPLE' M 


Published by Software Merchants Unlimited 

Software Merchants Unlimited 
2252 Fillmore Street, Suite 401 
San Francisco, California 94115 
415-567-5071 

CALL 800-8 SIMPLE 


CIRCLE NO. 120 ON READER SERVICE CARD 























80386 


MAKING THE MOST OF THE 80386 TODAY 


Although operating systems that fully 
support the features of the 80386 may 
not be available today, the program¬ 
mer can take advantage of many 80386 
features in real-mode programs now. 

• Many instructions such as the imme¬ 
diate forms of ADD and SUBtract 
have been optimized by directly de¬ 
creasing the number of cycles re¬ 
quired for execution. Others such as 
MULtiply execute in fewer average 
cycles due to internal algorithm op¬ 
timizations. Nothing special is re¬ 
quired of the programmer to invoke 
these improvements; they are built 
into the 80386 architecture. 

• The operand size prefix (66H) can 
be used to achieve 32-bit data opera¬ 
tions. This allows the programmer 
to take advantage of the extended 
32-bit register set for 32-bit arithme¬ 
tic and logic operations. For exam¬ 
ple, DB 66H / ADD AX,BX is equiva¬ 
lent to ADD EAX,EBX. The operand 
size prefix also can be used to 
speed data manipulations by taking 
advantage of the full 32-bit width of 
the 80386 internal and external data 
paths. One of the most dramatic im¬ 
provements to existing code can be 
realized by the use of a 32-bit re¬ 
peated string move instruction (REP 
MOVS) in block move operations. 

• Two additional segment registers, FS 
and GS, are available along with the 
instructions needed to manipulate 
them. No explanation of the desir¬ 
ability of extra segment registers is 
necessary to anyone who has pro¬ 
grammed the Intel family. 

• The new double-shift instructions, 
SHLD/SHRD, allow the manipulation 
of full-width (32-bit) bit strings with¬ 
in a double-width (64-bit) bit space. 
This allows the efficient implementa¬ 
tion of such graphics primitives as 


BITBLT. Because the maximum shift 
entity on the 8086/88 and the 80286 
has been 16 bits, routines such as 
BITBLT have typically been limited 
to 8-bit manipulations. 

• A full set of conditional jumps with 
16-bit displacements is provided. 

This eliminates the awkward instruc¬ 
tion sequence often required (jump¬ 
ing around a jump) when the desti¬ 
nation of a conditional jump is more 
than 127 bytes away. 

• The move with sign-extension 
(MOVSX) and move with zero-exten¬ 
sion (MOVZX) instructions allow 
small operands to be moved into 
larger ones in a single instruction 
with automatic size conversion. The 
high-order part of the destination is 
filled with the high bit of the source 
or zeroes. These may be most useful 
in manipulating the 32-bit register 
set, but they also allow functions 
such as MOVZX DI,AL to be done in 
a single instruction. 

• A complete set of single-bit instruc¬ 
tions alleviates the time-consuming 
masking and test-and-set/reset oper¬ 
ations that characterize many oper¬ 
ating system primitives, such as 
manipulating the bits in a task’s 
status word. Having a single-instruc¬ 
tion implementation assures the in¬ 
divisible execution of these func¬ 
tions, freeing the programmer from 
the overhead of framing the opera¬ 
tion with the typical CLI/STI. 

• The byte set on condition instruc¬ 
tions set the destination operand to 
0 or 1 depending on the setting of 
the specified condition flag. This is a 
useful function for high-level lan¬ 
guage interfaces that pass status in¬ 
formation in registers or memory 
rather than in the CPU flags. These 
instructions provide direct transla¬ 


tion from CPU status to a byte regis¬ 
ter or memory operand. 

• Although addressing is limited by 
real-mode semantics to 64KB seg¬ 
ments and a 1MB address space, the 
address size prefix (67H) allows the 
use of the extended addressing 
modes of the 80386 in real mode. 
When the address size prefix is 
used, any register can be used as 
base and index registers, with or 
without the scaling options. The 
coding of the Mod R/M byte is dif¬ 
ferent in this case, making manual 
encoding difficult. 

• A single-precision uncharacterized 
multiply instruction complements 
the immediate form of IMUL that 
was added to the 80286, but re¬ 
moves the implicit register charac¬ 
terization; therefore, the destination 
operand can be specified as some¬ 
thing other than the AX register. 

• New debug registers allow the im¬ 
plementation of a software debugger 
with hardware debugging capabili¬ 
ties. The debug registers can be pro¬ 
grammed to cause a trap when a 
specific memory location is read or 
written or when an instruction is ex¬ 
ecuted at that address. This capabil¬ 
ity previously required external 
breakpoint hardware. 

Selective use of these features can 
result in applications that achieve high 
performance relative to the 8086/88 
and 80286. It may be desirable, how¬ 
ever, for the same application to exe¬ 
cute on all members of the Intel fam¬ 
ily. One approach is to optimize por¬ 
tions of an application that benefit 
most from the features of the 80386. 
These optimized portions would be 
executed only when the application is 
run on an 80386-based system. 

—Caldwell Crossivy and Mike Perez 


(such as system timers) and other con¬ 
current protected mode applications. 

The I/O permission facility allows 
the operating system to control selected 
I/O ports. The operating system can set 
up an I/O permission bit map in the 
TSS corresponding to the virtual-8086 
mode application. The bit map can de¬ 
fine specific I/O ports as protected. Any 
IN or OUT instructions that refer to a 
protected I/O port will trap to the oper¬ 
ating system, which can either emulate 
or directly execute the instruction. 

In all these cases, the operating 
system decides whether or not a partic¬ 


ular instruction will appear to be exe¬ 
cuted. This action is totally transparent 
to the program running in virtual-8086 
mode—as far as the program is con¬ 
cerned, an emulated instruction appears 
to have been executed by the 80386 mi¬ 
croprocessor. The only potential differ¬ 
ence is that simulated instructions or 
operations may take longer to execute. 

Through the use of the 80386’s 
paged memory management features, 
an operating system can allow more 
than one 8086/88 machine to be simu¬ 
lated at a time, thus permitting multiple 
8086/88 applications to coexist with 


each other as well as with 32-bit appli¬ 
cations. This capability would typically 
be used in concert with hardware simu¬ 
lation so that each application would 
see an entire machine, complete with 
the simulated, peripheral hardware. 

To simulate the programming envi¬ 
ronment of one or more 8086/88 ma¬ 
chines, the operating system would pro¬ 
vide support for interrupt handling and 
for the instruction and I/O emulation 
just as outlined above. In the case of a 
single, virtual-8086 environment, mem¬ 
ory paging would not be enabled and 
the single virtual-8086 machine would 


FEBRUARY 1987 


65 














Adapted from Intel 80386 Data Sheet 


80386 


FIGURE 9 - Virtual-8086 Mode Memory Management 



The paging mechanism gives each virtual-8086 task a 1MB linear address space. 
Read-only areas, such as the 8086 operating system, can reside on shared pages 
used by all virtual-8086 tasks. Unused pages can be omitted from physical memory. 


INTEL REFERENCES 

For further reference, the following literature can Be obtained from the Intel 
Corporation by calling this toll-free number: 800/548-4725. 

ORDER 

PROCESSOR TITLE NUMBER PRICE 

8086/88 

The iAPX 88 Book 

210200 

$20.95 

80286 

Introduction to the iAPX 286 

210308 

No charge 


iAPX 286 Programmer's Reference 

210498 

20.93 


iAPX 286 Hardware Reference 

210760 

20.95 


iAPX 286 Operating System Writer's Guide 

121960 

50.00 

80386 

Introduction to the 80386 

(including the 80386 Data Sheet) 

231746 

No charge 


80386 Programmer's Reference 

230985 

25.00 


80386 Hardware Reference 

231732 

25.00 


80386 System Software Writer's Guide 

231499 

$23.00 


80386 Data Sheet 

231630 

No charge 


execute in the first physical megabyte of 
memory, just as it would in real mode. 
The operating system would normally 
reside in memory past the first (physi¬ 
cal) megabyte or in reserved and/or 
protected memory within the first 
megabyte of memory. If multiple 8086/ 
88 machine simulations are desired, or 
if it is necessary to execute a single 
8086/88 machine in a physical location 
other than the first megabyte, then the 
paging mechanism must be enabled. 

Because the segmentation unit is 
bypassed in virtual-8086 mode, the pag¬ 


ing unit is the only memory manage¬ 
ment method available to virtual-8086 
mode programs. The paging mechanism 
allows the 1MB address space of virtual- 
8086 mode to be simulated anywhere 
in physical memory'. Via memory paging 
the 1MB contiguous memory space of 
virtual-8086 mode can be created from 
up to 256 physical memory pages (1MB 
address space / 4KB per page). Each of 
these pages can be located anywhere 
within the 4GB physical address space 
of the 80386 and need not be physically 
contiguous, allowing great flexibility. 


Using the 80386 memory paging 
functions, a demand-paged operating 
system can manage memory for multi¬ 
ple virtual-8086 mode machine simula¬ 
tions concurrently with protected mode 
applications. Memory paging also can 
be used to allow each 8086/88 machine 
simulation to have access to common 
routines and data, such as a system 
ROM, by making the physical ROM ap¬ 
pear in the memory space of each 
simulated machine. Actually, only one 
ROM exists, but each machine sees it at 
the expected address within its 1MB ad¬ 
dress space. Figure 9 shows how the 
80386 paging mechanism enables multi¬ 
ple virtual-8086 machines to be man¬ 
aged; a single copy of the 8086/88 oper¬ 
ating system is made to appear in the 
address space of both machines. 

VIRTUAL PERFORMANCE 

The performance of applications exe¬ 
cuted in virtual-8086 mode is typically 
lower than in real mode in the same 
processor, because an operating system 
is intervening to handle interrupts and 
emulate certain instructions. The trap 
operation alone usually takes signifi¬ 
cantly longer to execute than the in¬ 
struction that caused it. To this is added 
the execution time of the code that 
saves and restores machine state and 
emulates the instruction. Fortunately, 
the instructions that must be emulated 
are relatively few in number and fre¬ 
quency of occurrence. The primary im¬ 
pact is in interrupt-intensive programs, 
because straight code tends to execute 
unimpeded in virtual-8086 mode. 

Like the instructions themselves, 
simulated hardware should not be ex¬ 
pected to have the same performance 
as the actual hardware. Differences in 
performance depend upon the device 
used. Performance is also affected when 
simulating more than one 8086/88 ma¬ 
chine at a time. 

The 80386 provides unprecedented 
compatibility with previous members of 
the Intel family while providing the ad¬ 
vanced functions required for the devel¬ 
opment of sophisticated virtual memory 
operating systems in which 8086/88 ap¬ 
plications can coexist with 16- and 32- 
bit protected mode applications. Even 
without such advanced operating system 
software, it is possible to take advantage 
of the 80386 by using its new instruc¬ 
tions and 32-bit data manipulations. Fu¬ 
ture software advances will unlock the 
full power of the 80386. limimini^l 


Caldwell Crosswy is a senior systems engi¬ 
neer, and Mike Perez is a systems engineer¬ 
ing manager with Compaq Computer Corp. 


66 


PC TECH JOURNAL 












































































“One of the 
primary reasons the 
Computer Press Association 
was formed was to promote 
high standards of writing 
in computer journalism. 
It’s time to reward those 
who do it best.” 

Hal Glatzer 

Vice President 

Computer Press Association 











\ £&&%&* 

\\ ^c?' (5 ,,, t « c V i ^ 


<> e9 S> es 


HJAISTRATION • ANDY LEVINE 



Microsoft Windows provides a usable, flexible 
environment for application development. 

An examination of the Development Kit 
and a sample application demonstrate the 
great promise this product holds. 


M icrosoft Windows may be the most significant micro¬ 
computer software development product of the de¬ 
cade. It promises to free users and developers from 
device dependencies, make programs easier to use, and pro¬ 
vide a compatibility bridge to future hardware and software. 

Windows is an extension to DOS that adds multitasking, 
memory management, and additional operating system func¬ 
tionality. As its name implies, users interact with applications 
via a visual interface—a window —several of which can be 
displayed on the screen at the same time provided the user is 
running well-behaved standard applications or others devel¬ 
oped specifically for Windows. 

Putting another layer of operating software between pro¬ 
grams and the hardware on which they run has an impact on 
performance. The more advanced the system, however, the 
less the impact of the additional layer. Windows must be run 
on a PC/AT or compatible, or at least a PC/XT with an acceler¬ 
ator board, in order to be useful. A Windows application such 
as Windows Draw will run on a dual-diskette PC with 320KB, 
but most users will find it unacceptably slow. The addition of 
a hard-disk drive or an expanded-memory board will make 
such a product usable, but more advanced hardware is neces¬ 
sary to truly benefit from Windows. 

Developers of applications for Windows have no choice 
but to use high-performance hardware. A typical Windows 


PC TECH JOURNAL 




































— 1 - 






ifcsf 


FEBRUARY 1987 



























































































WINDOWS 


development machine consists of an AT 
with a 20MB hard disk and 2MB of ex¬ 
panded memory. Following is a com¬ 
plete list of system requirements: 

• An XT, AT, or compatible that sup¬ 
ports Microsoft Windows 

• 512KB of memory 

• Diskette drive configured as drive A: 

• Hard-disk drive configured as drive C: 
(or second diskette drive that is con¬ 
figured as drive B:) 

• Graphics monitor 

• IBM Color Graphics Adapter (CGA), 
IBM Enhanced Graphics Adapter 
(EGA), or Hercules-compatible 
graphics adapter 

• Mouse (although recommended, one 
is not required) 

• Additional monochrome monitor with 
display adapter or an external console 
connected to a serial port (for use as 
an aid in debugging) 

Practically speaking, the more 
memory and disk space and the faster 
the processor, the bigger the payoff in 
reduced compilation times and greater 
programmer productivity. Consider a 
typical program compilation that takes 
30 minutes on a 6-MHz AT: the same 
compilation takes only 10 minutes on a 
Compaq Deskpro 386. While 80286- 
based machines certainly are acceptable 
for Windows application development, 
80386 machines improve performance 
significantly over that of ATs. 

Developing for Windows also re¬ 
quires DOS 2.1 or later, Microsoft Win¬ 
dows 1.03, the Microsoft Windows Soft¬ 
ware Development Kit, a development 
language with bindings for Windows, 
and a program or text editor. Only 
Microsoft C 4.0, Pascal 3-3 or later, and 
Macro Assembler (MASM) 4.0 currently 
have the necessary runtime libraries to 
support Windows. 

Before writing the source code for 
a Windows program, a developer must 
understand the Windows processing 
model and how it differs from the stan¬ 
dard DOS model. Current DOS-based 
applications take control of the com¬ 
puter when invoked and return control 
to DOS when they request services 
from DOS and when they terminate. 
Even terminate-and-stay-resident appli¬ 
cations assume control when started by 
the user and relinquish it when the 
user returns to the primary application. 

Windows, on the other hand, uses 
cooperative multitasking and shares 
available hardware resources among 
programs executing simultaneously. It 
takes complete control of a computer’s 
memory, display screen, keyboard, 
mouse, and timer, managing them 
among all running applications. Win¬ 


dows, not the application program, is in 
control. Windows differs from DOS in 
that it provides improved memory man¬ 
agement, nonpreemptive multitasking, a 
graphics device interface, dynamic data 
exchange, and clipboard data transfer. 

In some respects, Windows func¬ 
tions in a manner analogous to an on¬ 
line, realtime, mainframe transaction 
processing environment such as IBM’s 
CICS (Customer Information Control 
System). CICS applications and Win¬ 
dows applications share many process¬ 
ing concepts, foremost among them is 
reentrant programming. 

Program reentrance allows multi¬ 
ple copies of the same program to be 
executed simultaneously by the operat¬ 
ing environment without interfering 
with each other or with other applica¬ 
tions currently running on the same 
processor. Reentrant programs must not 
modify themselves as they execute and 
must place all user-specihc variables in 
a separate and distinct data segment. 

In an environment such as CICS, 
multiple users on different terminals 
may be executing the same transactions 
at once. For example, hundreds of bank 
tellers may be processing demand de¬ 
posit account (DDA) transactions at the 
same time. All users are served by a sin¬ 
gle copy of the application; however, a 
separate data segment is reserved for 
each. Windows is similar, yet different. 

A typical Windows develop¬ 
ment machine would consist 
of an IBM PC/AT with a 
20MB hard-disk drive and 
2MB of expanded memory. 


A single Windows user may be execut¬ 
ing multiple copies of the same pro¬ 
gram, called instances , at the same 
time—such as two instances of the DOS 
executive being used to view two direc¬ 
tories simultaneously. 

Windows manages events and 
issues messages. An event is an input or 
a programmed action about which a 
Windows application might need to 
know: a mouse click in a window, a key 
stroke, or a message issued by one ap¬ 
plication to another. Windows programs 
are collections of message-processing 
subprograms. Each Windows program 
has a main function (WinMain) and one 
or more window functions. WinMain is 


the executive that controls the execu¬ 
tion of the applications, determines 
how input should be processed, and di¬ 
rects the execution of the application’s 
window functions, which are applica¬ 
tion-specific processing functions. A 
window function processes any mes¬ 
sages relayed to it by WinMain, displays 
and maintains any windows that belong 
to it, and provides for interaction with 
other windows and applications. 

Windows places a* message in an 
application queue whenever special ac¬ 
tions need to be taken that affect a win¬ 
dow belonging to that application. The 
queue belongs to an individual applica¬ 
tion and is arranged on an FIFO (first- 
in/first-out) basis. The main function of 
an application retrieves the message 
from the queue and sends it to the ap¬ 
propriate window function. 

Each message-processing subpro¬ 
gram in a Windows program can be 
thought of as a stand-alone program de¬ 
signed to process a specific message. 
Many messages are common to all Win¬ 
dows programs and must have certain 
like sections, while others are unique 
and thus require unique code. 

NONPREEMPTIVE MULTITASKING 

Windows uses a nonpreemptive sched¬ 
uler to manage multiple tasks. Because 
such a scheduler is cooperative, each 
application must “yield” to Windows in 
order to allow other applications access 
to the main processor. Windows 
switches among applications when an 
application asks for its messages. Once 
an application has received a message it 
can execute for as long as it wants; Win¬ 
dows does not issue interrupts to force 
an application to yield. Windows appli¬ 
cations should check frequently for 
messages in order to yield control and 
allow other applications to run. 

A preemptive multitasking system, 
such as that found on an IBM main¬ 
frame, uses system interrupts to sus¬ 
pend the processing of an application 
and to allow other operating system 
functions or applications to be exe¬ 
cuted. Some preemptive multitaskers 
use time slicing to allocate the main 
processor to applications. Each applica¬ 
tion is given slices of time in which to 
execute, depending on priorities estab¬ 
lished by the system operators. Each ap¬ 
plication continues to execute until it 
needs the system to perform some ser¬ 
vice such as I/O (in some systems its 
execution may be interrupted to allow 
the execution of higher-priority tasks) 
or until its time slice completes. 

Windows does multitasking with 
only those applications that are specifi- 


72 


PC TECH JOURNAL 








cally written for it. While non-Windows 
applications such as Lotus 1-2-3 or 
MicroPro’s WordStar will run under 
Windows, they will not do multitasking. 
When a non-Windows application is 
started, all currently active Windows ap¬ 
plications are suspended. 

Windows multitasking is particu¬ 
larly useful for background tasks such 
as communications and print spooling; 
a user can execute Windows applica¬ 
tions at the same time that a file is be¬ 
ing transmitted or received across a 
communications network or that a large 
job is being printed. 

MEMORY MANAGEMENT 

Windows memory management pro¬ 
vides two significant features that are 
not offered in current versions of DOS: 
dynamic loading and discarding of code 
and data segments, and insulation of 
programs from hardware-specific mem¬ 
ory architectures. 

Code segments within a Windows 
application can be defined as fixed or 
movable through the module definition 
file (.DEF). The definition file for a sam¬ 
ple Windows application is shown in 
listing 1 (THERME.DEF). All code seg¬ 
ments should be defined as movable so 
that Windows has maximum flexibility 
in organizing memory. Code segments 
also may be loaded into memory dur¬ 
ing initial start-up of the application, or 
they may be loaded dynamically by 
Windows. When they are not currently 
in use, code and data segments also 
may be discarded dynamically by Win¬ 
dows if memory is scarce. 

When an application attempts to al¬ 
locate more memory than is available, 
Windows attempts to satisfy the request 
by dynamically discarding memory until 
a block of the requested size can be 
made available. If sufficient memory 
cannot be obtained, Windows returns 
error code 0001 to the application. 

Normally, Windows manages mem¬ 
ory in a way that is transparent to the 
user. However, if a scarce memory situ¬ 
ation occurs and Windows is unable to 
free enough memory, a degradation in 
performance occurs. Thrashing takes 
place if Windows begins discarding and 
loading the same code segments repeat¬ 
edly. For example, if an application is 
performing a repetitive operation (such 
as drawing a series of rectangles) and 
memory is scarce, Windows may per¬ 
form an operation, discard the code re¬ 
quired to perform that operation during 
memory compaction, then reload the 
code segment just discarded. 

While performance degradation is 
more desirable than an application fail¬ 


ure, it is of little consolation to a user 
who must either accept inadequate per¬ 
formance or close down other applica¬ 
tions until enough memory is freed to 
return performance to acceptable levels. 

Windows memory management 
further insulates application programs 
from hardware-specific memory archi¬ 
tectures by using 16-bit “handles” 
(address pointers) to reference all data 
variables. Because Windows dynamically 
allocates and frees memory, compacting 
it as required, the physical address of a 
data variable can be changed by Win¬ 
dows. As long as an application always 
uses a handle to access data, it does not 
matter where Windows locates that 
physical data item in memory. 

Windows provides two memory 
pools for use during program execu¬ 
tion: the global heap and the local 
heap. The former is all system memory 
not allocated to Windows or applica¬ 
tions; the latter is free memory in the 
application’s data segment. The maxi¬ 
mum size of any local heap is 64KB. Ap- 

“Device independence, one 
of the greatest benefits of 
Windows, is achieved by ap¬ 
plications through the use of 
a graphics device interface. 


plications obtain memory by using the 
GlobalAlloc command (for addresses 
outside of the current 64KB memory 
segment) and LocalAlloc (for addresses 
within the current 64KB memory seg¬ 
ment). Windows gives the requesting 
application a handle to the requested 
memory. The GlobalLock and LocalLock 
functions are used to lock global and 
local handles, respectively, before as¬ 
signing values to the specified memory 
locations. This prevents the memory ob¬ 
ject associated with the handles from 
moving while in use. 

Applications are responsible for 
freeing allocated global memory before 
they terminate. Windows automatically 
frees any local memory that has been 
allocated during execution. 

GRAPHICS DEVICE INTERFACE 

One of the greatest benefits that Win¬ 
dows provides to application develop¬ 
ers and users alike is device indepen¬ 
dence, which is achieved by Windows 
applications through the use of a graph¬ 


ics device interface (GDI). Application 
developers benefit from the GDI be¬ 
cause it defines a logical device to 
which the application sends output. The 
physical device used, whether display 
screen, plotter, or matrix printer, is not 
important to the application because all 
application I/O is performed to and 
from logical devices. The same I/O rou¬ 
tines are used by an application regard¬ 
less of the physical device being used; 
thus, they must be written only once. 
Translations between the logical device 
used by Windows and physical devices 
are performed by device drivers. 

In order to maintain device inde¬ 
pendence, this interface draws images 
in an internal, logical coordinate system 
that is mapped to the actual physical 
coordinate system of the display device. 
The logical coordinate system has x and 
y axes, an origin at the center, and 
coordinate values that range from 
-32,768 to 32,767. 

To draw an image on a device, an 
application uses a GDI output function 
to draw in a rectangular area of the log¬ 
ical coordinate system called (in an un¬ 
fortunate choice of terms) a window. 
GDI then maps the image to the desig¬ 
nated device view port, which is simply 
the rectangular area on the display de¬ 
vice that contains the image mapped 
from the logical coordinate system win¬ 
dow. The functions SetWindowOrg and 
SetWindowExt define the origin and ex¬ 
tent (size) of the window in the logical 
coordinate system. SetViewportOrg and 
SetViewportExt perform the same func¬ 
tion for the device view port. The point 
(0,0) in the physical device coordinate 
system is always the upper left corner 
of the view port. 

Every device has a logical size in 
which arbitrary width and height (in 
inches) are assigned. Usually different 
from the physical width and height, the 
logical size is used by applications 
when writing text or drawing graphics. 

For example, the logical screen 
size of the CGA (640 by 200 pixels) is 
6.5 by 4 inches. The pixels per logical 
inch in the x and y directions are 96 
and 48, respectively. The logical screen 
size of the EGA (640 by 350 pixels) is 
6.5 by 5 inches. Its pixels per logical 
inch are 96 and 72, respectively. 

The location of points in an actual 
image depends upon the transformation 
equations used to map it from the logi¬ 
cal to the physical coordinate system. 

An application can use SetMapMode to 
select one of eight different mapping 
modes that define the orientation of the 
device’s x and y axes and specify scale 
factors for transforming logical units 


FEBRUARY 1987 


73 









You can eat 37% more carrots. 
Or you can get our new 
VEGA Deluxe™ EGA card. g 


. Apr s P ite its 

Hprovements 

Mr # today’s 

".mjr .■■f.-^0^^^mn-vsnety 

jjjliP" | Enhanced Graphics 

^ aH|P H ipoapter can still be a strain on 

111 p I ^^^^H^eballs. 

"^^ ^H » BH ^rMay we introduce you to a sight 
^JHPR sore eyes: the new VEGA Deluxe 
JBpp^ card. A short-card video adapter 

goes beyond standard EGA to bring 
^ jHPPu as much as 37% higher screen resolution. 

/ impure pixels, that means 640 x 480. And 752 x 410. 

f With as many as 16 on-screen colors from a palette of 64. 

That, in turn, means sharper lines. More brilliant colors. And less strain on your 
eyes. (Of course, you can’t see more than your monitor will display. So for more than 
640 x 350, the VEGA Deluxe requires a Multisync® or equivalent.) 

The VEGA Deluxe is compatible with every other video standard: EGA, CGA, 
Hercules and MDA. And it automatically selects which standard 
: j££E3Hl is right for your software’s needs when used with a compatible 

Not only that, the VEGA Deluxe includes high-resolution 
drivers for Microsoft Windows and Lotus 1-2-3 with 120 
jSnHS^nTl columns and 43 lines. EASYCAD, EGA Paint, GEM, Dr. Halo, 
In*A*Vision, Windows Draw Windows Graph, and many 
more now support VEGA Deluxe high resolution. 

Want more information? Just call 1-800-238-0101 for the name of the Video Seven 
dealer nearest you. (In California, call 1-800-962-5700.) 

And get ready for a real eye-opening experience. 4 If 

Video Seven Inc.,47320 Mission x ▼▼ -p px rp y 

Falls Court, Fremont, CA 94539. V1 DllU V JLN 


High resolution modes requireTTL color monitors capable of 25 KHZ and 29.4 KHZ. Trademarks: VEGA Deluxe-Video Seven Inc.; Hercules—Hercules ComputerTechnology;MultiSync-NEC Information Systems, Inc.; 
EASYCAD - Evolution Computing, EGA Paint—Rix SoftWoriss, Inc.; GEM - Digital Research Corp.; Dr. Halo - Media Cybernetics; In«A* Vision, Windows Draw, Windows Graph - Micrografxjnc. Registered trademarks: 
IBM - International Business Machines Corporation; Video Seven—Video Seven, Inc.; Lotus 1-2-3—Lotus Development Corp.;Microsoft—Microsoft Corp. Video Seven reserves the right to change specifications without notice. 


CIRCLE NO. 204 ON READER SERVICE CARD 


WINDOWS 


into device units. The mapping modes 
are as follows: TEXT, LOMETRIC, 
HIMETRIC, LOENGLISH, HIENGLISH, 
TWIPS, ISOTROPIC, and ANISOTROPIC. 

These modes fall into three classifi¬ 
cations: unconstrained, partially con¬ 
strained, and completely constrained. 
The TEXT, LOMETRIC, HIMETRIC, 
LOENGLISH, HIENGLISH, and TWIPS 
modes are completely constrained. In 
these mapping modes, calls to 
SetWindowExt and SetViewportExt are 
ignored. Constrained map modes pro¬ 
duce nondistorted images in fixed phys¬ 
ical units such as pixels, inches, or 
points, and they provide a way to en¬ 
sure that a 1-by-l unit square in logical 
coordinates is mapped to a 1-by-l unit 
square in physical coordinates. 

In ISOTROPIC (the partially con¬ 
strained) mode, window and view-port 
extents determine scaling and orienta¬ 
tion; GDI assures that x and y units are 
the same. Thus, squares in logical units 
come out as squares on the device. In 
the unconstrained (ANISOTROPIC) 
mode, arbitrary units and scaling may 
be achieved by setting window and 
view-port extents to any desired values. 
This mode does not change the extents, 
rather it directs the GDI to set an inter¬ 
nal flag to indicate that the extents can 
be arbitrarily changed by using 
SetWindowExt and SetViewportExt. 

A device context, or DC, describes 
a graphics device and driver. A DC is a 
data structure in an application’s mem¬ 
ory that contains all information neces¬ 
sary to create visual output in that appli¬ 
cations window. This information in¬ 
cludes background and text colors and 
conventions for combining them, as 
well as transformations used to map 
images from the logical coordinate sys¬ 
tem to the physical device. The DC con¬ 
tains the data itself or handles that point 
to the data. An application must request, 
using the CreateDC routine, that Win¬ 
dows create a DC for its window. 

The application can update the in¬ 
formation in the DC by selecting objects 
into the DC, setting the mapping mode, 
setting the clipping region, and so on. 
Once the application has all of the nec¬ 
essary information contained in the DC, 
it can perform graphics operations that 
affect its own window. 

The availability of Windows appli¬ 
cations and GDI enables equipment 
manufacturers to make new hardware 
compatible with an existing base of soft¬ 
ware simply by writing device drivers 
for Windows. It is also easier to up¬ 
grade hardware (and the Windows de¬ 
vice driver) to support new features, 
higher resolution, and faster modes. 


The time that an application devel¬ 
oper saves by not developing unique 
device support can be significant. Cer¬ 
tain applications, especially those that 
make extensive use of graphics, benefit 
the most. The 40 to 50 percent of pro¬ 
gramming time spent developing device 
support in a device-independent envi¬ 
ronment could instead be directed to 
improving the application or develop¬ 
ing new applications altogether. 

Device independence is also im¬ 
portant to end users because it protects 
their investment in software. Users can 
be confident that drivers will be avail¬ 
able for popular devices, and because 
Windows applications are device inde¬ 
pendent, upgrades from the software 
manufacturer to support a new device 
are not necessary. 

Communications between 
a realtime server and a 
client Windows application 
is accomplished through the 
Dynamic Data Exchange. 


Several examples of Windows and 
Windows-compatible devices are al¬ 
ready in use. Video 7’s new VEGA De¬ 
luxe EGA-compatible graphics adapter 
supports all the old CGA and EGA stan¬ 
dards and offers two new resolution 
modes—752 by 410 pixels and 640 by 
480 pixels—with 16 colors. Few compa¬ 
nies offer such features. The VEGA De¬ 
luxe comes with a Windows driver that 
gives Windows applications instant com¬ 
patibility with these modes. 

Quadram’s as yet unnamed high- 
resolution graphics board uses an Intel 
82786 graphics coprocessor to achieve a 
resolution of 640 by 480 pixels with 256 
simultaneous colors (from a palette of 
1.6 million). This board should be avail¬ 
able (with a Windows driver) in the 
first quarter 1987. The 82786 enables 
this board to achieve a tenfold increase 
in graphics performance. 

NEC’s new color version of the P5 
printer is capable of 360-dpi (dots per 
inch) resolution with unlimited colors. 

It also should be available (with a Win¬ 
dows driver) in first quarter 1987. 

DYNAMIC DATA EXCHANGE 

Windows allows intertask communica¬ 
tion and the efficient sharing of data 
among applications. The Windows Dy¬ 


namic Data Exchange (DDE) protocol is 
a set of guidelines that allows applica¬ 
tions to share data freely using either 
one-time data transfers or establishing 
on-going communications in which ap¬ 
plications send updates to one another 
as new data become available. 

Intertask communications, the 
means by which Windows applications 
receive all input, occur in Windows 
through messages. Applications may de¬ 
fine private messages with unique 
meanings. The DDE protocol defines 
some new messages for communica¬ 
tions among the applications that use it. 
Windows also provides for the sharing 
of data among applications. The DDE 
protocol uses shared memory as the 
means for transferring data between ap¬ 
plications. The DDE defines some struc¬ 
tures to be used in order to pass data. 

In any interaction between DDE 
applications, the application generating 
the shared data is called the server and 
the application accepting the shared 
data is the client. A DDE link between 
applications is called a hot link. 

Communications between an on¬ 
line, realtime server and a client Win¬ 
dows application is possible with the 
DDE. Microsoft has demonstrated an ex¬ 
ample of this with Lotus Signal and a 
sample Windows application specifically 
developed to demonstrate the DDE. Lo¬ 
tus Signal uses an FM sideband receiver 
to obtain financial data from the New 
York Stock Exchange. A server was de¬ 
veloped to transfer data from Signal 
into a shared memory area within Win¬ 
dows. As data come over the FM chan¬ 
nel, the shared memory area is updated 
automatically. The client application was 
coded to detect when the data in this 
shared memory area changed and to 
update a spreadsheet and redraw a 
graph to reflect the new data. 

The clipboard is another data ex¬ 
change feature of Windows. It is a pool 
of handles, accessible to any Windows 
application, through which applications 
can exchange formatted data. 

Windows applications that follow 
Microsoft’s Style Guide all provide the 
standard clipboard operations of Cut, 
Copy, and Paste. Cut deletes selected 
data from an application and places it in 
the clipboard; Copy makes a copy of 
the selected data without deleting it and 
then places the copy in the clipboard; 
Paste is used by the receiving applica¬ 
tion to transfer data from the clipboard 
into an application. 

From a user’s point of view, the 
clipboard holds only one piece of data 
at a time. Previous data are cleared out 
every time a new Cut or Copy opera- 


FEBRUARY1987 


75 



WINDOWS 


tion is performed. Internally, the clip¬ 
board holds any number of different 
data formats and corresponding data 
handles, all representing the same data 
but in as many different formats as the 
application is willing to supply. 

For example, if a Windows Draw 
user selects a portion of a drawing 
(perhaps a piece of clip art) and copies 
it to the clipboard, Windows Draw ren¬ 
ders three different formats to the clip¬ 
board. These formats are bit map, meta¬ 
file, and Micrografx picture. 

[Editors note: The author is presi¬ 
dent of Micrografx, developers of the 
picture format referred to here. A Mi¬ 
crografx picture is decomposable and 
can record view-port transformations. 
Specifications for the format are avail¬ 
able free from Micrografx; also, they 
can be obtained from General Electric’s 
GENIE Information Service .—WFJ 

An application receiving the data 
from the clipboard could choose what¬ 
ever format that it supported. For exam¬ 
ple, Windows Paint can transfer only in 
bit maps while Windows Write can in¬ 
put a metafile or a bit map. Windows 
Draw can (currently) input only a 
Micrografx picture. 

Bit maps are simply pixel blocks 
well suited to pixel editors or paint 
programs such as Windows Paint. How¬ 
ever, some limitations are imposed. Bit 
maps are not easily scaled and lose res¬ 
olution when they are scaled; in addi¬ 
tion, bit maps in Windows are done 
only in black and white, so any color 
information is lost during the transfer. 
Finally, Windows limits the size of bit 
maps to 64KB maximum. 

Metafiles provide a more orderly 
mechanism for passing pictures among 
applications. Unlike bit maps, they can 
pass color information and metafiles 
can be scaled without loss of resolution. 
However, metafiles carry their own lim¬ 
itations: they cannot be decomposed, so 
a receiving application cannot break a 
metafile picture down into its compo¬ 
nent symbols (lines, curves, fill pat¬ 
terns). Neither can Metafiles record 
view-port transformations, which some 
applications use for scaling pictures. 

THE DEVELOPMENT KIT 

The Microsoft Windows Development 
Kit (version 1.03) is required for devel¬ 
oping Windows-compatible applications. 
The kit is a collection of the utilities, 
debugging aids, and sample source pro¬ 
grams necessary to this operation; table 
1 lists its contents. 

Installing the kit is fairly straight¬ 
forward once the proper documenta¬ 
tion for version 1.03 is located in the 


TABLE 1: Windows Software Development Kit Contents 



WINDOWS DEVELOPMENT UTILITIES 

EXEHDR.EXE 

Displays Windows application file header 

IMPLIB.EXE 

Creates linkable library files for user-defined, dynamic 

Windows libraries 

LIB.EXE 

Creates and maintains library (.LIB) files 

LINK4.EXE 

Creates executable Windows applications 

MAKE.EXE 

Performs automatic file maintenance 

MAPSYM.EXE 

Creates symbol files for symbolic debugging 

RC.EXE 

Compiles and adds resources to an application 

RCCP.EXE 

Preprocesses resource script files 

SYMDEB.EXE 

Symbolic debugger for Windows applications 

WINSTUB.EXE 

Program to display a message indicating that an application 
must be run using Windows 

WINDOWS DEVELOPMENT APPLICATIONS 

ATRM1111.FNT 

Sample font file 

DIALOG.EXE 

Dialog box editor 

FILELIST.TXT 

Listing of files in Development Kit 

FONTEDIT.EXE 

Font editor 

HEAPWALK. EXE 

Displays lists of owners and sizes of allocated memory blocks 
in global heap 

ICONEDIT.EXE 

Creates and edits icons, cursors, and bitmaps 

INSTALL.BAT 

Batch file used to install Development Kit 

MKDEBUG.BAT 

Batch hie used to create a debugging version of Windows 

README.DOC 

Installation instructions for Development Kit 

SHAKER. EXE 

Randomly allocates memory in the global heap 

LIBRARIES AND INCLUDE FILES (C language) 

STYLE.H 

Windows style definitions for edit control, dialog and list 
boxes, scroll bars 

WINDOWS.H 

Windows include hie for C applications 

LIBW.LIB* 

Standard Windows library 

WINLIBC.LIB* 

Start-up library for Windows libraries 

LIBRARIES AND INCLUDE FILES (Pascal) 

103PATCH.BAT 

Patches debugging version Windows KERNEL.EXE to allow 
support of Pascal applications 

CMACROS.INC 

Include hie for macro assembler macros 

PASCAL.LIB 

Pascal library for Windows applications 

PASLIBW.LIB 

Windows library for applications in the Pascal language 

WINDOWS.INC 

Windows include hie for Pascal applications 

a These file names are prefixed with a C, L, M or 5 , according to the memory model size: compact, 

large, medium, or small, respectively. 


README file on the second of two utili¬ 
ties disks. (This file is not mentioned in 
the printed documentation or the more 
than 30 pages of updates to it. The doc¬ 
umentation updates are not replace¬ 
ment pages, rather they are more than 
100 separate items grouped together 
with section and page-number refer¬ 
ences.) The README file describes the 
use of the batch file that will install all 
of the toolkit except the sample applica¬ 
tion source files. The printed documen¬ 
tation provides recommended directory 
names and locations for storing these 
source files, but the user must consult a 
file on the second utilities disk to locate 
particular source files on the toolkit 
diskettes. To set up the operating envi¬ 
ronment, the AUTOEXEC.BAT file must 
be modified using the DOS SET com¬ 


mand to assign values to several envi¬ 
ronment variables. The variables and 
their meanings are as follows: 

LIB Location of library files used 

by the development linker 
(called Link4) 

INCLUDE Location of include files used 
by compiler 

TMP Location of compiler tempo¬ 
rary file directory 

TEMP Location of Windows tempo¬ 
rary file directory 

PATH Used by DOS to locate exec¬ 
utable files 

It may be necessary to expand the envi¬ 
ronment to accommodate these vari¬ 
ables. (See “Environment Expansion,” 
Jim Vallino, November 1986, p. 49.) 

Because some of the development 
utilities are Windows applications, Win- 


76 


PC TECH JOURNAL 








SYMBOL AND DEBUG FILES 


Debugging executable file for GDI library 
Symbolic debugging file for GDI functions 
Debugging executable file for kernel library 
Symbolic debugging file for kernel functions 
Debugging executable file for user library 
Symbolic debugging file for user functions 


GDI.EXE 
GDI.SYM 
KERNEL.EXE 
KERNEL SYM 
USER. EXE 
USER. SYM 
SAMPLE APPLICATIONS SOURCE FILES 

CARDFILE Application similar to the Windows card file 

CLOCK Uses bitmaps and compatible device contexts 

FONTTEST Font and dialog box creation and use 

HELLO General form of a Windows application 

MAPMODES Use of various mapping modes 
MOTION Creation and use of dynamic-link libraries 

MUZZLE General form of a Windows application (Pascal) 

SAMPLE Similar to TEMPLATE but also uses standard file and edit 

menus and dialog boxes 

SHAPES Shows how to use menus and draw shapes 

TEMPLATE Skeleton application 

TRACK Use of mouse input and visual feedback 

TYPE Keyboard input processing 

WINDOWS DEVELOPMENT KIT MANUALS 

Update to Programmer's Reference and Programming Guide 
Describes new features of Windows version 1.03; contains updates and 
corrections to Windows Programmer's Reference and Windows 
Programming Guide 

Microsoft Windows Programmer's Utility Guide 

Describes purpose and use of Development Kit Utilities 
The Microsoft Windows Quick Reference 
Provides a quick reference to Windows functions and messages 
The Microsoft Windows Programming Guide 
Guide to creating Windows applications 
The Microsoft Windows Application Style Guide 
Design guidelines for applications’ user interface 
The Microsoft Windows Programmer's Reference 
Describes functions, data types and structures, files, and assembly language 
macros used by Windows applications 

The Windows Software Development Kit is a collection of utilities, debugging aids, 
and sample source programs required to develop Windows applications. 


dows must be installed on the comput¬ 
er being used for developing applica¬ 
tions, and it is also needed to debug 
Windows applications. 

An executable version of Windows 
is created using the Microsoft Windows 
Setup program. Setup uses files from 
the Windows disks to make a version of 
Windows that is tailored to the specific 
hardware being used. 

Instructions for installing a debug¬ 
ging version of Windows are provided 
in the README file. The process de¬ 
scribed includes using the MKDEBUG 
batch file to copy debugging versions of 
KERNEL.EXE, USER.EXE, and GDI.EXE 
(all supplied with the toolkit) to copies 
of the Windows Setup and Build 
diskettes. These diskettes are then used 
to install a debugging version of Win¬ 


dows, which is needed for development 
purposes. When used with the symbolic 
debugger in the development toolkit, 
the debugging version provides com¬ 
prehensive application debugging sup¬ 
port using an external display. A stan¬ 
dard version is required only for use of 
Windows without debugging support. 

APPLICATION RESOURCES 

A Windows program is made up of 
source code and resources. Applications 
can be written in Microsoft C or Pascal, 
or assembly language. Resources such 
as icons, cursors, menus, and dialog 
box templates are created using the 
Icon and Dialog editors. 

The sample application THERME il¬ 
lustrates the Windows application devel¬ 
opment process. THERME uses an icon, 


pull-down menus, and a dialog box to 
create a drawing of a thermometer and 
output it to the screen or printer. The 
user can select Fahrenheit and Celsius/ 
Centigrade readings by selecting a “ra¬ 
dio” button and can specify the temper¬ 
ature using a scrollable list. Photo 1 
shows the THERME display with the 
print option selected. 

To create new Windows programs, 
these steps must be taken: 

• Create cursors, icons, or brushes us¬ 
ing IconEdit, the icon editor. 

• Create a resource script file contain¬ 
ing descriptions of menus or dialog 
boxes to be used by the application 
using a text editor and Dialog, the 
dialog editor. 

• Use the Windows resource compiler 
(RC) to compile application resources 
and then to copy those resources to 
the executable file. 

• Use a text editor to generate the ap¬ 
plication’s C, Pascal, or assembly lan¬ 
guage source files. 

• Use the appropriate Microsoft com¬ 
piler to compile the application’s 
source files. 

• Use a text editor to create a module 
definition file. 

• Use the linker (Link4) to link the 
compiled application source files with 
the Windows libraries and the module 
definition file. 

Windows applications typically use 
a number of resources, such as icons, 
cursors, fonts, menus, and dialog box 
templates. These resources must be 
created, then defined in a resource 
script file. The resource script file con¬ 
sists of one or more resource state¬ 
ments that identify the resource name 
and type. The resource script file used 
by the THERME sample application is 
shown in listing 2 (THERME.RC). 

The ICON key word is followed by 
the name of the file that contains the 
icon. The file THERME.ICO was gener¬ 
ated using the Icon Editor program 
(IconEdit), a Windows application used 
to create customized icons, cursors, and 
bit maps for the applications. IconEdit 
lets the user create and edit a large- 
scale image of an icon, cursor, or bit 
map while simultaneously viewing it at 
normal size. A mouse or similar point¬ 
ing device is required for use with 
IconEdit. The IconEdit display of the 
THERME.ICO icon shown in photo 2. 

The DIALOG statements and their 
associated CONTROL statements define 
the dialog boxes used in THERME. Dia¬ 
log boxes can be designed in the dis¬ 
play screen using the dialog editor. 

Because Dialog does not create the 
other components of a resource file, a 


FEBRUARY 1987 


77 










TM 



Any Time. 


Any Software. 


EGA Monitor 


TTL Monochrome Monitor RGB, Composite Monitors, 

and Compaq PC Portable 2 and the IBM Portable PC 




CGA Software 


• It also runs 132 coiusms 5 

**i*l*s 8 •liter's display wlily. ttwn twin® CCP softww or a 
SfWcs are duA le seamed for a biph «ualtt* lease Vten nrrinj &A 
« B44 tett is displ vd. colon are ctewertei into state. gr&hi? 

nmrg KA software or an KS writer, a of 64 co! ' 

v* It* resolution parties *5?lay of an KA wutor 


132 Column Software 


EGA Software Hercules Software 


EGA Software Hercules Software 


CGA Software 132 Column Software 


EGA Software Hercules Software 



CGA Software 132 Column Software 


EGA Wonder runs EGA, CGA, MDA, Hercules and 
132 Columns on an Enhanced Graphics Display. 
CGA text is improved to 8 x 14 and graphics are 
double scanned for a high quality display. 


Features 

ATI 

EGA 

Wonder 

Paradise 

Auto 

Switch 

Quadram 

and 

Video 7 

Compatible to EGA, CGA, MDA, Hercules 

IX 

IS 

IS 

256K Video Memory 

lS 

IS 

IS 

Automatic Switching Between EGA and 
CGA Color Modes and Among EGA, 

MDA, and Hercules Modes 

tS 

IS 


Runs EGA, CGA, MDA, Hercules and 132 
Columns on an EGA Monitor 

IS 



Runs EGA, CGA, MDA, Hercules and 132 
Columns on an RGB Color Monitor 

IS 



Runs EGA, CGA, MDA, Hercules and 132 
Columns on a TTL Monochrome Monitor 

IS 



Runs EGA, CGA, MDA, Hercules and 132 
Columns on a Composite Monitor 

IS 



Runs EGA, CGA, MO A, Hercules and 132 
Columns on an IBM Portable P.C. 

✓ 



Warranty 

2 Yrs 

1 Yr 

1 Yr 

Suggested List Price 

$399 

$595 

$599 


EGA Wonder runs EGA, CGA, MDA, Hercules and 
132 Columns on a TTL Monochrome Monitor and 
Compaq PC Portable 2 . Colors of EGA and CGA 
are converted into shades, graphics are full 
screen and no pre-boot drivers are 
required. 


'Trademarks: Paradise Auto Switch-Paradise Systems Inc; Quad EGA+ is a trade¬ 
mark of Quadram Corp.; Video-7 - Video-7, Incorporated; IBM PC Portable - IBM - 
International Business Machines. Compaq — Compaq. Inc 

1. "Any Software, Any Monitor, Any Time" applies to IBM graphics, standards, 
monitors, software. 

2. Optional Compaq Expansion Module (no 132 Columns) suggested list price $99. 

3. Flickering effect of interlacing reduced with purchase of anti glare screen filter. 


EGA Wonder also runs EGA, CGA, MDA, Hercules 
and 132 Columns on an RGB Monitor, Composite 
Monitor, and the IBM Portable PC in 64 colors 
(shades). EGA and Hercules software are inter¬ 
laced for high resolution text and graphics . 3 

Composite monitor and PC Portable display not shown. 


Upgrade to EGA Without An EGA Monitor 

The ATI EGA Wonder goes far beyond software compatibility. It is the result of 
intensive development by one of the most revolutionary technology companies today — ATI 

Technologies Inc. 

The ATI EGA Wonder is not just better technology. It is the solution for upgrading to 
EGA without an EGA monitor. 

Only the ATI EGA Wonder displays EGA, CGA, MDA, Hercules and 132 column 
software on an Enhanced Graphics Monitor, an RGB Color/Graphics Monitor, a TTL 
Monochrome Monitor, a Composite Monitor, or the internal monitor of the PC Portable. 

Only the ATI EGA Wonder provides upward compatibility to EGA and downward 
compatibility to CGA, MDA, and Hercules on your present monitor — EGA, RGB, TTL, 
Composite or PC Portable. 

At ATI we have developed a better graphics card for you. 

Call us today at ( 416 ) 477-8804 for more information. 


450 Esna Park Dr. Markham, Ontario 
Canada L3R 1H5 TLX. 06-966640 

CIRCLE NO. 206 ON READER SERVICE CARD 


/n 


CESMsHMUB 


Technology you can Trust 






































WINDOWS 



Therme is a C application that accepts keyboard input using 
a dialog box, then displays and prints a thermometer. 






The Dialog Editor allows dialog boxes to be designed on the 
display screen and saved in a resource script file. 


The Icon Editor is used to create customized icons, cursors, 
and bit maps. A mouse or similar device is required. 



The Font Editor permits the creation of font files for use 
with applications. A mouse or similar device is required. 


.RC (resource script) file defining the 
other components (icons, menus, bit 
maps) must be created and complied 
using RC before Dialog is used). 

Dialog is then used to add dialog 
boxes to the compiled resource (.RES) 
file. The dialog box that is used in the 
example resource script file (shown in 
listing 2) was coded by hand; however, 
it can be examined and modified using 
Dialog (see photo 3). 

The development kit includes the 
Font Editor, and although it is not used 
in the THERME sample application, it is 
a useful tool that allows the creation of 
custom font files for use with Windows 
applications. A font file consists of bit 
maps of characters used for text display. 
Font files must be added to a font re¬ 
source file for them to be used with ap¬ 
plications. A mouse or similar device is 
required to use this editor. Photo 4 
shows a sample Font Editor display. 


RC also is used to copy the com¬ 
piled resources to the applications ex¬ 
ecutable file created by linking the ap¬ 
plication’s object modules together with 
the appropriate Windows libraries. The 
copy step may be performed at the 
same time as resource compilation (if 
the executable file is available), or it 
may be performed as a separate step. 

Shaker and Heapwalker are two 
utilities provided with the toolkit to aid 
in application testing. Shaker randomly 
allocates and frees blocks of global 
memory to force Windows to move the 
data and code segments of sample ap¬ 
plications. Heapwalker displays informa¬ 
tion about the size and location of ob¬ 
jects in system memory, thus permitting 
the global heap to be examined. 

The Icon Editor, Font Editor, Dia¬ 
log Editor, Shaker and Heapwalker are 
all Windows applications, and are 
started, used, and closed as such. 


Each of the three languages in 
which applications can be developed 
using Windows has its own require¬ 
ments. Windows C applications are C 
programs that use Windows functions, 
data types, and programming conven¬ 
tions. Listing 3 (THERME.C) is the 
source code for the sample C applica¬ 
tion. Programs are compiled using the 
Microsoft C 4.0 Cl command. Recom¬ 
mended options to use when compiling 
a Windows program are listed in table 
2. The WINDOWS.H file must be in¬ 
cluded in all C programs. Definitions 
for all Windows functions, data types, 
and constants are in WINDOWS.H. The 
include file, THERME.H (listing 4), de¬ 
clares various data and routines that are 
used by the main unit. 

The starting point for a program is 
the WinMain function, which handles 
the creation of windows and reads and 
dispatches input for the program. 


FEBRUARY 1987 


79 












































































WINDOWS 


As with C, Pascal Windows applica¬ 
tions are Pascal programs that use Win¬ 
dows functions, data types, and pro¬ 
gramming conventions. Version 33 or 
later of the Microsoft Pascal compiler 
must be used to compile applications 
written in this language. In addition, all 
Pascal Windows applications must in¬ 
clude the Windows interface in their 
source files; this interface contains the 
definitions for the Window's functions, 
data types, and constants. It is included 
by using the statement, INTERFACE, and 
the file, WINDOWS.INC. 

(Each application should have its 
own .INC file that lists the specific Win¬ 
dows functions, data types, and con¬ 
stants it uses. In addition, each Pascal 
application must be compiled with the 
{WINDOWS metacommand.) 

Pascal programs must be Refined 
as Pascal modules, not programs. A pro¬ 
gram module can contain any ^number 
of Pascal procedures or function defini¬ 
tions, but at least one, the WinMain 
function, is required for all Pascal appli¬ 
cations. As in C programs, WinMain is 
the starting point of the application. It 
must be declared along with the 
PUBLIC and WINDOWS attributes. 
MUZZLE, a sample application written 
in Pascal, is provided with the Windows’ 
development kit. A patch provided with 
the toolkit must be applied to the de¬ 
bugging version of KERNEL.EXE (also 
provided with the kit) to allow the sup¬ 
port of Pascal applications. 

Windows applications in assembly 
language use high-level language calling 
conventions, Windows functions, data 
types, and programming conventions. 
Microsoft MASM 4.0 must be used to 
assemble these Windows programs. 

Assembly language applications 
must provide functions that use the 
same calling and segment conventions 
as C or Pascal applications. The file 
CMACROS.INC, included with the devel¬ 
opment kit, ensures use of these con¬ 
ventions. It defines a set of high-level 
language macros that can be used in an 
assembly language source file. 

Executable Windows programs are 
created by linking compiled source files 
using the Link4 program supplied with 
the kit. Link4 uses the object modules, a 
list of Windows and other libraries, and 
a .DEF file to create an executable file 
that can load and run under Windows. 
This .DEF file is a text file containing in¬ 
formation about a Windows application: 
the name, size, format, functions, and 
segments. Every application must have a 
.DEF file created before linking. 

The .DEF file for an application 
must contain a NAME statement de- 






OPTION 

EXPLANATION 

-c 

Directs Cl command to create object.file only. Without this option, Cl 
attempts to create a non-Windows executable file. 

-AM 

Directs compiler to create far code pointers, near data pointers, and 
separate data and stack segments. 

-Gsw 

Directs compiler to remove stack probes from compiled code, and 
add Windows prolog and epilog code to all functions in source file. 

-Oas 

Directs compiler to relax alias checking and optimize the compiled 
code for code size. 

-Zpe 

Directs compiler to pack bytes in structures. All structures in windows 
are packed, so this option must always be used to ensure compatibility 
with Windows. Enables special keywords, such as pascal, far, and near. 


Windows application source files are compiled using the Cl command. Line num¬ 
ber information may be included in the object file by adding the -Zd option. 


fining the application’s module name. 
Windows uses this name to identify the 
application. Most .DEF files also contain 
DATA and CODE statements that further 
define aspects of the application. (The 
THERMR.DEF file is shown in listing 1.). 

The compiled object modules can 
be linked with the Windows library and 
the .DEF file with Link4. The Link4 com¬ 
mand has the form 

Link4[ options] 

object-files,[ exe-file ],[ map-file ], 

[lib-files],def-file 

where options is one or more key 
words that direct Link4 to carry out spe¬ 
cial operations, object-files are the file 
names of compiled application source 
files, exe-file is the name given the ex¬ 
ecutable file, map-file is the name of 
the map file, lib-files are the names of 
Windows or standard language libraries, 
and def-file is the file name of the .DEF 
file. The commas shown in this com¬ 
mand are required to be there. 

If an application has more than 
one object module, all must be named 
in order to link. This means that more 
than one object-file can be specified if 
necessary. Multiple file names must be 
separated by spaces or the plus sign 
(+). Only one .DEF file is allowed. 

To link the application object file 
THERME.OBJ to the module definition 
file THERME.DEF and the standard Win¬ 
dows library MLIBW.LIB, the following 
should be used: 

link4 therme,therme.exe,therme/map, 
mlibw,therme.def 

This statement creates the execution file 
THERME.EXE, which is ready to have 
resources copied to it using the re¬ 
source compiler. It also creates the 
mapping file THERME.MAP, which is 
used for symbolic debugging. 


PROGRAM MAINTENANCE 

The Windows Software Development kit 
contains Make, a program maintenance 
utility. This utility is also included with 
Microsoft C 4.0. Make automates the 
process of maintaining assembly and 
high-level language programs. It auto¬ 
matically carries out all tasks needed to 
update a program after one or more of 
its source files has changed. Make com¬ 
pares the last modification date of a file 
or files that may need updating with the 
modification date of files on which 
these target files depend, and then car¬ 
ries out a given task only if a target file 
is out of date. In order to use Make, a 
text editor first creates a description file 
that lists the steps to be performed and 
specifies the files upon which these 
steps will depend. Make then reads the 
description file and performs the 
requested steps. 

A Make description file consists of 
one or more target-dependent descrip¬ 
tions. Each description is expressed in 
the following form: 

targetfile : dependentfiles 
command 1 
[command2] 

In this statement, targetfile is the name 
of any file that may need updating, 
dependentfile is the name of the file on 
which the target file depends, and the 
commands are the names of executable 
files or DOS internal commands. Listing 
3 shows the Make file used to compile 
and link THERME. 

This example defines the steps for 
creating three target files, each of which 
has at least one dependent file and one 
command. The target descriptions are 
given in the order in which the target 
files will be created. Thus, the files 
THERME.OBJ and THERME.RES are ex¬ 
amined and created, if necessary, before 


80 


PC TECH JOURNAL 












THERME.EXE. The window created 
when THERME.EXE is executed using 
Windows is shown in photo 1. 

WINDOWS DEBUGGING 

Microsoft includes a symbolic debugger 
(SYMDEB) with the Windows Software 
Development Kit; it is currently the only 
debugger available for Windows. The 
CodeView debugger included with 
Microsoft C version 4.0 does not sup¬ 
port Windows software development. 

Because Windows takes complete 
control of the system console, SYMDEB 
I/O takes place on a separate debugging 
terminal. The debugging terminal can 
be an additional monochrome monitor 
or any ASCII-compatible remote termi¬ 
nal that can be connected to the serial 
port. When using an additional mono¬ 
chrome monitor, SYMDEB can receive 
keyboard input before and after the ap¬ 
plication runs or when it encounters a 
breakpoint. Using SYMDEB to debug an 
application involves the following: 

• Prepare the symbol files for an 
application. 

• Set up the debugging terminal. 

• Start SYMDEB and load Windows 
along with the symbol files for the 
application, the Windows USER and 
GDI libraries, and any other Windows 
libraries used by the application. 

• Interpret SYMDEB allocation 
messages. 

• Display the application’s machine and 
source code. 

• Set breakpoints and interpret 
backtraces. 

• Terminate the application and 
quit SYMDEB. 

Symbol files for symbolic debug¬ 
ging are created using mapsym, which 
converts .MAP files into .SYM files that 
can be used by SYMDEB. The /map op¬ 
tion is used when linking to create a 
.MAP file for input to mapsym. Line 
number information can be added to 
.MAP by adding the /linenumbers op¬ 
tion when linking, along with the ap¬ 
propriate compiler option to add line 
numbers to the object file (-Zd for C 
and /I for Pascal). The Windows USER 
and GDI symbol files, USER.SYM and 
GDI.SYM, are part of the Kit. 

The same methods used to create 
application symbol files can be used to 
create symbol files for other Windows 
libraries. A symbol file for the applica¬ 
tion is required while symbol files for 
other Windows libraries are optional 
but recommended to help trace calls 
made to routines not in the application 
or to trace window messages. 

SYMDEB options include direction 
of debugging output to a secondary 


monochrome monitor, control of the 
reporting level of memory-allocation 
messages, loading of SYMDEB macro 
definitions from a file, and the auto¬ 
matic execution of commands on start¬ 
up. SYMDEB provides more than 50 de¬ 
bugging commands to allow the user to 
enable and disable breakpoints, trace 
and examine object and source code, 
assemble and disassemble instructions, 
and examine and change data. SYMDEB 
I/O can be redirected and commands 
can be passed to COMMAND.COM. 

A BRIDGE TO THE FUTURE 

Microsoft was thinking of the future 
when it developed Windows. It is writ¬ 
ten in C to make it easily adaptable to 
various environments. The list of origi¬ 
nal equipment manufacturers (OEMs) 
that already have adapted Windows to 
non-IBM compatible environments in¬ 
cludes AT&T, Hewlett-Packard, Digital 
Equipment Corporation, and Apricot. 
Considering that a large portion of 
Microsoft revenue comes from the sale 
of systems software to OEMs, compati¬ 
bility with new hardware from OEMs is 
a rather important issue. 

Many of Microsoft’s objectives are 
universal. All software vendors design 
products to be compatible with as wide 

WLicrosoft is in a position 
to address the problems of 
both software and hardware 
compatibility, and Windows 
is its dynamic response. 



a range of hardware as possible. Ven¬ 
dors want to avoid major rewrites of 
applications whenever changes to the 
hardware base occur. Only a few soft¬ 
ware vendors develop device drivers 
for a profit; most would prefer never 
to write another. 

Microsoft is in a position to ad¬ 
dress the problems of software and 
hardware compatibility, and Windows is 
its dynamic response. Not static, Win¬ 
dows has been updated twice since its 
release, and rumors concerning new 
versions of Windows are rife in the in¬ 
dustry. Although Windows has some 
problems, it has many strong points. It 
provides a standard graphic user inter¬ 
face, memory management, device inde¬ 
pendence, a well-defined interface for 
communications between applications, 


and the promise of compatibility with 
future hardware and software. 

Windows is an adjunct to DOS that 
provides many useful services that DOS 
does not. Not surprisingly, the cost for 
these services is performance. Because 
of the huge overhead that Windows im¬ 
poses, an 80286-based microcomputer 
is required for applications to perform 
with acceptable response times. In addi¬ 
tion, applications cannot effectively 
share the screen and processor unless 
they are developed specifically to run 
with Windows. Developing applications 
to Windows specifications (as opposed 
to normal DOS specifications) is more 
time consuming, the development pro¬ 
cess itself is much more complex, and 
the program takes considerable time to 
learn (as explained in this month’s Di¬ 
rections column, “Far Afield with Win¬ 
dows,’’ Will Fastie, p. 9). 

The up side of all of this is that 
Windows acts as an insulating layer be¬ 
tween applications and DOS. Therefore, 
as new versions of DOS are released, 
Windows applications should be able to 
run without change. When a version of 
Windows becomes available to exploit 
the capabilities of 80386 machines, 
users of Windows and Windows applica¬ 
tions should benefit immediately. Appli¬ 
cations and Windows will run faster be¬ 
cause the 80386 is faster. More to the 
point, Windows will run at speeds that 
PC users demand, and the improved 
architectural features offered by the 
80386 machines will allow applications 
(both Windows-specific and not) to exe¬ 
cute in harmony with (and protected 
from) each other. 

Windows provides a usable, flex¬ 
ible environment for application devel¬ 
opment. It provides workable multitask¬ 
ing and memory management features 
now, and the promise of future en¬ 
hanced versions that will continue to 
support current Windows applications. 
Windows represents a real opportunity 
for software developers. 1 —11 m 

Windows: $99 

Application Development Kit: $500 
Microsoft C Compiler: $450 
Microsoft Pascal Compiler: $300 
Microsoft MASM: $150 
Microsoft Corporation 
16011 Northeast 36th Way 
P.O. Box 97017 
Redmond, WA 98073-9717 
800/426-9400; 206/882-8080 
CIRCLE 357 ON READER SERVICE CARD 


Paul Grayson is president of Micrografx, 
Inc., developers of the drawing programs 
In*A*Vision and Windows Draw. 


FEBRUARY 1987 


81 












WE JUST GOT 
MORE SOPMSTKATED 
SOWUCANGET 
MORE BASIC. 


W e invented BASIC over 
20 years ago. 

Later, we re-invented it for 
micros as the True BASIC™ 
structured-programming language. 

And the idea was: To make program¬ 
ming as easy and natural as possible. 

So you could concentrate on what to 
program. Not how. 

Now there's True BASIC Version 2.0 for 
the IBM® PC and compatibles. Faster, 
more powerful and sophisticated than 
the original. 

MORE GRAPHICS. 

Right from the start, True Basic gave you 
terrific device-independent graphics. 
Built-in 2-D transforms. And support for 
multiple windows. 

Now we've added more graphics and 
full mouse support. 

So for the first time, you can create one 
program that will do superb graphics on 
CGA, EGA or Hercules displays. With¬ 
out worrying about additional drivers or 
overlays. And on the EGA, you can SET 
COLOR MIX to define your own colors. 
Use four shades of blue if you want (and 
make our competitors green with envy). 

MORE CONTROL 

We always supported you with recursion, 
local and global variables and separately 
compiled libraries. 

Now you can have modules, too, the 
industrial-strength tool for building large 
applications. 

Using modules makes it easier for you 
to share data between routines. Build 
data structures. Then, if you want, hide 
them from other parts of the program. 

So you can always be free to focus on 
the task at-hand. 

Modules have their own initialization 
sections, so you can set up global vari¬ 
ables or turn on instrumentation. 

And, like other procedures in True 


BASIC, modules can be compiled sepa¬ 
rately and stored in a library where they 
can be shared by several applications. 

Or they can be loaded directly into the 
True BASIC environment as part of your 
customized workspace. So when you 
use True BASIC interactively, the mod¬ 
ules look like built-in functions. 

Modules made Modula-2 the successor 
to Pascal. Now they've put True BASIC 
one-up on all other BASICs. 

MORE SPEED. 

2.0 is 20 to 200 percent faster than True 
BASIC Version 1.0. Both compile times 
and execution speeds. And on some 
real-world benchmarks, we're faster 
than many native-code compilers. 

MORE POWER. 

Start with a complete matrix algebra 
package. 

Then, since we support the use of 640K 
for both code and data, add arrays as 
large as you want. 

Our compiled code is more compact than 
what other compilers generate, so there's 
more memory left for your application. 

We've enhanced our dynamic array 
redimensioning and improved our built- 
in 8087/80287 support, making True 
BASIC the most powerful number¬ 
crunching BASIC around. 

And if it's strings you crunch, we've 
added new string functions and raised 
the limit. So strings can be up to 64K 
characters long. 

MORE DEBUGGING. 

We pioneered breakpoints and immedi¬ 
ate-mode capability in a compiled 
BASIC environment. 

Now we've added utilities that allow 
you to visually TRACE through your 
program, and check the values of 
selected variables. Or print a cross- 
referenced listing. 


And new compiler options like NO LET 
and NO TYPO let you decide how 
strictly you want your variable names 
checked. 


MORE INNOVATION. 

True BASIC has always had features 
like full-screen, scrollable editing. 

Block copy and block moves. And 
global search and replace. 

Now, 2.0 keeps you on the leading edge 
of editing and hie-management technol¬ 
ogy. With SCRIPT, to write the True 
BASIC equivalent of a DOS batch hie. 
ECHO, to transfer your output to disk or 
printer. And ALIAS, to give you and 
your programs a better roadmap to your 
subdirectories. 


?here's also Version 2.0 of the Devel- 
>per's Toolkit. With support for DOS 
nterrupts. Pop-up menus. Even 
lesigner fonts. 

ind remember: your programs are por- 
able to the other machines we support: 

I A 1 n jr • i 1 TM I 1 


Apple Macintosh™ and Commodore 


the 
Arnica 


MORE SUPPORT. 

Call your local dealer. Call us TOLL- 
FREE at 1-800-TR-BASIC. Or write to: 
True BASIC, Inc., 39 South Main Street, 
Hanover, NH 03755. We'll send you 
more information. Including a free 
demo disk. 

See for yourself. That we're still true to 
our basic idea. 



True BASIC Language System is a trademark of True 
Basic, Inc. Macintosh is a trademark licensed to Apple 
Computer Inc. Amiga is a registered trademark of 
Commodore-Amiga, Inc. IBM is a registered trademark 
of International Business Machines. 


CIRCLE NO. 198 ON READER SERVICE CARD 


WINDOWS 


LISTING 1: THERME.DEF 

NAME Therme 


LISTING 3: THERME.C 

• > 

/* (c) Copyright 1986 MICROGRAFX, Inc., 

DESCRIPTION 'Simple Microsoft Windows Application' 


1820 N. Greenville Ave., Richardson, Tx. 75081. 

THERME.C 

STUB 'WINSTUB.EXE 1 

CODE MOVEABLE 


This Module defines the all routines that control the application. 

Wien the application is loaded, Windows calls the WinMain procedure. 

DATA MOVEABLE MULTIPLE 

HEAPS IZE 4096 


WinMain initializes key variables used by the various functions in the 
application and creates a window for it via the initialization 
function. It then waits for input values, passing them to the window 

STACKS IZE 4096 

SEGMENTS 


procedure each time an event occurs. */ 

#include <windows.h> 

_TEXT PRELOAD MOVEABLE DISCARDABLE 

EXPORTS 


#include "therme.h" 

#include "stdlib.h" 

#include "string.h" 

AppWndProc 31 
about_dialog 32 
print_dialog 33 


Jk kkkkkkkkkkkkkkkkkkkkkkkkkkk HlStOPy ****************** ★★★★*★*** k kf 

/* 11/24/86 (PML) • signoff */ 

set_temp_dialog 34 


jk kkkkkkkkkkkkkkkkkkkkkkkkkk COHStQntS *************************** */ 

#define LOCAL 

LISTING 2: THERME.RC 


#define APP_CLASS "Therme" /* Window Class Name */ 

#define HIGHTEMP 100 /* Highest Displayable Temp */ 

#define LOWTEMP -20 /* Lowest Displayable Temp */ 

#include <windows.h> 

#include "therme.h" 


#define ICON NAME "Classlcon" /* Resource Icon ID String */ 

#define IDABOUT 005 /* ID for About... */ 

#define MENUNAME "MainMenu" /* Resource Menu ID String */ 

Classlcon ICON Therme.Ico 

MainMenu MENU 


#define VIEWPORT_ORGX 0 /* Viewport Origin X Coord */ 

#define VIEWPORT_ORGY 0 /* Viewport Origin Y Coord */ 

#define WINDOW_EXTX 1000 /* Window Extent X Coord */ 

BEGIN 

POPUP "File" 


#define WINDOW_EXTY 1000 /* Window Extent Y Coord */ 

#define WINDOW_ORGX 0 /* Window Origin X Coord */ 

#define WIND0W_0RGY 0 /* Window Origin Y Coord */ 

BEGIN 

MENUITEM "Print", PRINT 

END 


#define WND_NAME "Therme" /* Window Name */ 

j* ************************** Local Data ************************** */ 

POPUP "Change" 

BEGIN 


BOOL bCurrentTempMode = TRUE, /* TRUE for Farenheit */ 

bOldTempMode = TRUE; /* Previous Temp Mode */ 

char ProStringBuffer [80]; /* Profile String Buffer */ 

MENUITEM "Set Temperature", SET_TEMPERATURE 

END 

END 


HANDLE hModule, /* Instance Handle */ 

hWindow; /* Window Handle */ 

int GraphicTemp = 0, /* Graphic Temp Setting */ 

AboutDlg DIALOG 22,17,124,96 

STYLE WS_POPUP | WS_DLGFRAME | WS_VISIBLE 


Degreelnc =1, /* Temperature Increment */ 

OldTemp, /* Previous Temp Setting */ 

MathTemp; /* Math Temp. Conversion */ 

BEGIN 

CONTROL "Sample Windows Application", 0, static,SS_LEFT,20,0,104,8 

ICON "Classlcon", 0,0,0,0,0 


PAINTSTRUCT Paint; /* Window Paint Structure */ 

RECT ClientRect; /* Client Area Rect. */ 

WORD ViewportWidth, /* Viewport X Extent */ 

CONTROL "Micrografx, Inc.",0,static,SS_LEFT,20,16,104,8 

CONTROL "1820 N. Greenville Ave.",0,static,SS_LEFT,20,24,104,8 

CONTROL "Richardson TX 75081",0,static,SS_LEFT,20,32,104,8 


ViewportHeight, /* Viewport Y Extent */ 
ViewportOriginX =0, /* Viewport X Extent */ 
ViewportOriginY = 0; /* Viewport Y Extent */ 

CONTROL "Author: Patrick Leary",0,static,SS_LEFT,20,48,104,8 
DEFPUSHBUTTON "Ok",IDOK,46,72,32,16 

END 


jh ************************ Local Routines ************************ */ 

LOCAL BOOL NEAR PASCAL command (HWND.WORD); 

SetTempOIg DIALOG 22,17,90,62 

STYLE WS_POPUP | WS_DLGFRAME | WS_VISIBLE | WS_CAPTION 


LOCAL WORD NEAR PASCAL dialog_box (HWND,LPSTR,FARPROC); 

LOCAL HWND NEAR PASCAL init_app (HANDLE,HANDLE,LPSTR,int); 

LOCAL void NEAR PASCAL paint_window (HDC,WORD,WORD); 

CAPTION "Set Temperature" 

BEGIN 

CONTROL »» ,0,STATIC,S$_BLACKFRAME,4,8,24,20 


LOCAL BOOL NEAR PASCAL show_menu ( HANDLE,HWND); 

LOCAL BOOL NEAR PASCAL command (hWindow,Choice) 

CONTROL "",SET_DEGS,STATIC,SS_CENTER,12,12,12,8 

CONTROL "",SCROLL_DEGS,"SCROLLBAR",SBS_VERT | WSTABSTOP,28,8,8,20 
DEFPUSHBUTTON "Ok",IDOK,50,8,32,16 


/* This routine receives and processes menu input. It calls the 
various dialog box functions and initiating the print task */ 

HWND hWindow; 

PUSHBUTTON "Cancel » ,IDCANCEL,50,24,32,16 

RADIOBUTTON "Farenheit",FARENHEIT,4,40,50,10,WS_TABSTOP | WS_GROUP 
RADIOBUTTON "Celsius/Centigrade",CELSIUS,4,50,86,10, 


WORD Choice; 

BOOL bHandled = TRUE; 

END 

SpoolDlg DIALOG 50,50,84,40 


BYTE I tern; 

FARPROC IpPrintProc; 

HANDLE hPrintDlg; 

CAPTION "Print" 

STYLE WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE 

BEGIN 


HDC hPrintDC; 

int PrintResult; 

PSTR pDriverName, 

CONTROL "Spooling Drawing...",0,STATIC,SS_LEFT,4,8,76,8 

DEFPUSHBUTTON "Cancel",IDCANCEL,29,20,30,15,WS_GROUP | WS_TABSTOP 

END 


pPortName; 

WORD HRes, 

VRes; 





FEBRUARY 1987 


83 












“How to protect your software 
by letting people copy it” 

By Dick Erett, President of Software Security 


Hard Disk Installation : Simply copy program disk 
to hard disk u sing •* C • 

Program Back-ups : You may make as many copies of 
[he program diskette as you wish. 


Data Back-ups : Use normal back-up and restore 
commands, including backing up sub-directories containing 
program files. 

Networks : This product may be 
* works. Follow the same installation 
on page 102 of this manual. The Block 
with the normal operation of any 



Soon all software installation procedures will be as straightforward as this. 
The only difference will be whether you include the option to steal your 
product or not. 


Inventor and 
entrepreneur, 
Dick Erett, 
explains his 
company’s 
view on the 
protection of intellectual 
property._ 

crucial point that 
even sophisticated 
software develop¬ 
ment companies and the 
trade press seem to be miss¬ 
ing or ignoring is this: 
Software protection must 
be understood to be a 
distinctively different 
concept from that com¬ 
monly referred to as 
copy protection. 
Fundamentally, software 
protection involves devising 
a method that prevents 
unauthorized use of a 
program, without restricting 
a legitimate user from 
making any number of 
additional copies or prevent¬ 
ing program operation via 
hard disk or LANs. 

Logic dictates that mag¬ 
netic media can no more 
protect itself from misuse 
than a padlock can lock itself. 

Software protection must 
reside outside the actual 
storage media. The technique 
can then be made as tamper 
proof as deemed necessary. 

If one is clever enough, 
patent law can be brought 
to bear on the method. 

Software protection is at 
a crossroads and the choices 
are clear. You can give 
product away to a segment 


of tne market, or take a 
stand against the theft of 
your intellectual property. 

giving your software 
away is fine... 99 

We strongly believe that 
giving your software away 
is fine, if you make the 
decision to do so. However, 
if the public’s sense of ethics 
is determining company 
policy, then you are no 
longer in control. 

We have patented a device 
that protects your software 
while allowing unlimited 
archival copies and unin¬ 
hibited use of hard disks and 
LANs. The name of this 
product is The BLOCK™ 

The BLOCK is the only 
patented method we know 
of to protect your investment. 
It answers all the complaints 
of reasonable people con¬ 
cerning software protection. 


In reality, the only people 
who could object are those 
who would like the option 
of stealing your company’s 
product. 

“.. .eliminating the ratio¬ 
nale for copy-busting... 99 

Since The BLOCK allows 
a user to make unlimited 
archival copies the rationale 
for copy-busting programs 
is eliminated. 

The BLOCK is fully pro¬ 
tected by federal patent law 
rather than the less effective 
copyright statutes. The law 
clearly prohibits the produc¬ 
tion of work-alike devices 
to replace The BLOCK. 


The BLOCK attaches to 
any communications port of 
virtually any microcomputer. 
It comes with a unique 
customer product number 
programmed into the circuit. 

The BLOCK is transpar¬ 
ent to any device attached to 
the port. Once it is in place 
users are essentially unaware 
of its presence. The BLOCK 
may be daisy-chained to 
provide security for more 
than one software package. 

Each software developer 
devises their own procedure 
for accessing The BLOCK 
to confirm a legitimate user. 
If it is not present, then the 
program can take appro¬ 
priate action. 

“...possibilities... 
limited only by your 
imagination... 99 

The elegance of The 
BLOCK lies in its simplicity. 
Once you understand the 
principle of The BLOCK, 
hundreds of possibilities will 
manifest themselves, limited 
only by your imagination. 

Your efforts, investments 
and intellectual property 
belong to you, and you have 
an obligation to protect 
them. Let us help you safe¬ 
guard what’s rightfully yours. 
Call today for our brochure, 
or a demo unit.” 



1 offware 
ecuritij mc. 


870 High Ridge Road Stamford, Connecticut 06905 

203 329 8870 




CIRCLE NO. 189 ON READER SERVICE CARD 


















WINDOWS 


switch (Choice) 


< 

C 


Item = MessageBox (hWindow, 

case IDABOUT: 


(LPSTR) "Not Enough Memory To Display Dialog Box", 

dialog_box (hWindow,(LPSTR) "AboutDlg",about_dialog); 


(LPSTR) NULL, 

break; 


MB_0K | MBJCONHAND); 

> 

case SET_TEMPERATURE: 


FreeProcInstance (IpProc); 

dialog_box (hWindow,(LPSTR) "SetTempDlg",set j:emp_dialog); 


InvalidateRect (hWindow,(LPRECT) &ClientRect,TRUE); 

break; 


return (Result); 

case PRINT: 


> 

LOCAL HWND NEAR PASCAL init_app (hPrevious,hInstance,lpCmdLine,Show) 

GetProfileString ((LPSTR) "windows". 


/* This function handles the initialization of the sample 

(LPSTR) "device". 


application. This includes registering the window class, 

NULL, 


creating the window, and loading the menus. The viewport 

(LPSTR) ProStringBuffer, 


coordinates of the client area of the window are also 

80 ); 


established in globally available variables */ 

pDriverName = strchr (ProStringBuffer,','); 


HANDLE hPrevious, 

♦pDriverName = '\0'; 


hInstance; 

pDriverName++; 


int Show; 

pPortName = strchr (pDriverName,','); 


LPSTR IpCmdLine; 

♦pPortName = '\0'; 


< 

pPortName++; 


BOOL bRegistered; 

hPrintDC = CreateOC ((LPSTR) pDriverName, 


HWND hWindow; 

(LPSTR) ProStringBuffer, 


WNDCLASS Class; 

(LPSTR) pPortName, 



NULL); 


hModule = hInstance; 

if (hPrintDC == NULL) 



Item = MessageBox (hWindow, 


Class.style = CS_OWNDC | CSJ/REDRAW | CS_HREDRAW; 

(LPSTR) "Cannot Print. Please Select Printer", 


Class.IpfnWndProc = AppWndProc; 

(LPSTR) NULL, 


Class.cbClsExtra = NULL; 

MB_OK | MB_ICONHAND); 


Class.cbWndExtra « NULL; 

else 


Class.hInstance = hInstance; 

t 


Class.hCursor * LoadCursor(NULL,IDC_ARROW); 

HRes = GetDeviceCaps (hPrintDC,HORZRES); 


Class.hlcon = LoadIcon(hInstance,(LPSTR) "Classlcon"); 

VRes = GetDeviceCaps (hPrintDC,VERTRES); 


Class.hbrBackground = GetStockObject (WHITE_BRUSH); 

IpPrintProc = MakeProcInstance (print_dialog,hModule); 


Class.IpszMenuName = (LPSTR) NULL; 

hPrintDlg = CreateDialog (hModule,(LPSTR) "SpoolDlg", 


Class.IpszClassName = (LPSTR) APP_CLASS; 

hWindow,IpPrintProc); 



PrintResult = Escape (hPrintDC,STARTDOC,11, 


bRegistered = RegisterClass((LPWNDCLASS) &Class); 

(LPSTR) "Thermometer",NULL); 



if (PrintResult == -1) 


hWindow = CreateWindow ((LPSTR) APPCLASS, 

Item = MessageBox (hWindow, 


(LPSTR) WND_NAME, 

(LPSTR) "Cannot Print. Bad Port or Insuffic. Memory", 


WS TILEDWINDOW, 

(LPSTR) NULL, 


o. 

MB_OK | MBJCONHAND); 


0, 

else 


0, 

t 


0, 

paint_window (hPrintDC,HRes,VRes); 


(HWND) NULL, 

Escape (hPrintDC,NEWFRAME,NULL,NULL,NULL ) ; 


(HMENU) NULL, 

Escape (hPrintDC,ENDDOC,NULL,NULL,NULL); 


(HANDLE) hlnstance. 

DestroyWindow (hPrintDlg); 


(LPSTR) NULL); 

DeleteDC (hPrintDC); 


ShowWindow (hWindow,Show); 

FreeProcInstance (IpPrintProc); 



> 


GetClientRect (hWindow,(LPRECT) &CIientRect); 

> 


ViewportWidth = ClientRect.right; 

break; 


ViewportHeight= ClientRect.bottom; 

default: 


show_menu (hlnstance,hWindow); 

bHandled = FALSE; 

> 


return (hWindow); 

> 



LOCAL void NEAR PASCAL paint_window (hDC,ExtentX,ExtentY) 

return (bHandled); 


/* This function erases the window background and repaints the 

> 


thermometer using the given device context. The variable 

LOCAL WORD NEAR PASCAL dialog_box (hWindow,IpDialog,IpCallBack) 


GraphicTemp is used to visibly update the rectangle that 

/* This function displays a given dialog box and returns the value 


represents the temperature. */ 

ret'd by the dialog box call-back function. The function first 


HDC hDC; 

creates a relocation-independent version of the call-back 


WORD ExtentX, 

function, then calls DialogBox. If Windows indicates an 


ExtentY; 

insufficient memory condition exists, then the user is so 


C 

informed. Additionally, since the drawing area always needs to 


char Buffer[3]; 

be updated after a dialog box is removed, the client area of the 


int StartHashX = 460, 

window is invalidated so as to be completely redrawn. */ 


StartHashY = 100, 

HWND hWindow; 


EndHashX = 485, 

LPSTR IpDialog; 


EndHashY = 100, 

FARPROC IpCalIBack; 


HashCount = 12, 

C 


Hash Inc = 5, 

BYTE Item; 


Degree = HIGHTEMP, 

FARPROC IpProc = MakeProcInstance ( IpCalIBack,hModule); 


StringLength; 

int Result = DialogBox (hModule,IpOialog,hWindow,IpProc); 


PSTR pDegreeString; 

if (Result == -1) 


SetMapMode (hDC,MM_ISOTROPIC); 


FEBRUARY 1987 


85 












Alsys launches 
PCAT-TO-370ADA 
Cross-Compiler at 
November ADA Expo; 
80286 Debugger also 
introduced. 


A new Alsys cross-compiler permitting 
Ada programs to be written on an 
IBM-PC AT and executed on an IBM 370 
was introduced at the November Ada 
Expo in Charleston, W. VA. The cross- 
compiler, pre-validated to AJPO test 
suite 1.7, is priced at $2,995 and 
includes a 4 MB RAM board. 

Two compilers, the Alsys validated 
PC AT self-hosted compiler, and the 
AT-to-370 cross-compiler, are offered 
as an option at $4,995. One RAM 
board serves both compilers. 

The cross-compiler, and 
especially the two-compiler 
option, implements a "dis¬ 
tributed programming’ ’ 
environment for which the 
Ada language and its 
' ‘package’ ’ concept is par¬ 
ticularly suited. The two- ' 
compiler option permits 
developers to program in 
Ada and test their results at 
their workstations before uploading 
370 object code to the mainframe. 

Alsys also introduced its PC AT 
debugger called AdaPROBE at the Expo. 
AdaPROBE combines a unique Ada- 
VIEWER with regular debug facilities. 



ALSYS, INC., 

1432 Main Street, Waltham, MA 02154 
PCTJ 2/87 

ADA NOW. Tell me more about the 
cross-compiler. 

Name/Title- 

Company_ 

Address_ 

City / State/Zip_ 

Phone/Ext_ 


' In the US: Alsys Inc., 1432 Main St., Waltham, MA 
02154 Tel: (617)890-0030 

In the UK: Alsys Ltd., Partridge House, Newtown 
Rd., Henley-on-Thames, Oxon RG91EN 
Tel: 44 (491) 579090 

In the rest of the world: Alsys SA, 29, Avenue de 
Versailles, 78170 La Celle St. Cloud, France 
Tel: 33 (1) 3918.12.44 

* Ada is a registered trademark of the U.S. 
Government (AJPO). Alsys is the trademark of 
Alsys, Inc. References to other computer systems use 
trademarks owned by the respective manufacturers. 

CIRCLE NO. 141 ON READER SERVICE CARD 












WINDOWS 



SetWindowOrg (hDC,0,0); 

SetWindowExt (hDC,1000,1000); 

SetViewportOrg (hDC,ViewportOriginX,ViewportOriginY); 


EndPaint (hWindow,(LPPAINTSTRUCT) SPaint); 

> 

else 


SetViewportExt (hDC,ExtentX,ExtentY); 

FillRect (hDC,(LPRECT) &Paint.rcPaint, 

GetStockObject (WHITE_BRUSH)); 

bHandled = FALSE; 

if (bHandled == TRUE) 

Rectangle (hDC,460,50,540,725); 

SelectObject (hDC,CreateSolidBrush (RGB (255,00,00))); 

Result = (long) 0; 

else 

Result = DefWindowProc (hWindow,Message,Word,Long); 

Ellipse (hDC,375,700,625,950); 

Rectangle (hDC,480,(600 - (GraphicTemp * 5)),520,700); 

SelectObject (hDC,GetStockObject (WHITE_BRUSH)); 

return (Result); 

> 

for (;HashCount>=1;--HashCount) 

C 

BOOL FAR PASCAL about_dialog (hDialog,Message,Word,Long) 

HWND hDialog; 
unsigned Message; 

pOegreeString = itoa (Degree,Buffer,10); 

StringLength = strlen (pOegreeString); 

MoveTo (hDC,StartHashX,StartHashY); 

WORD Word; 

LONG Long; 

/* This function is called by Windows to handle input to the About... 

TextOut (hDC, 

(StartHashX-75), 

(StartHashY-15), 

dialog box. Since "OK" is the only option available to the user, 
only one message is processed, namely, WMCOMMAND. */ 

< 


pOegreeString, 


BOOL Result = TRUE; 



StringLength); 





LineTo (hDC,EndHashX,EndHashY); 


if (Message == WMCOMMAND) 



MoveTo (hDC,(EndHashX + 30),(EndHashY + 25)); 


EndDialog (hDialog,Result); 



LineTo (hDC,(EndHashX + 55),(EndHashY + 25)); 


else 



Degree = Degree * Hashlnc; 


Result = FALSE; 



pOegreeString = itoa (Degree,Buffer,10); 





StringLength = strlen (pOegreeString); 


return (Result); 



TextOut (hDC, 


> 



(EndHashX +65), 


BOOL FAR PASCAL print_dialog (hDialog,Message,Word,Long) 



(EndHashY +10), 


HWND hDialog; 



pOegreeString, 


unsigned Message; 



StringLength); 


WORD Word; 





LONG Long; 



StartHashY = StartHashY + 50; 


/* This function processes input to the modeless dialog box created 



EndHashY = EndHashY + 50; 


when the user selects the "Print" command from the file menu. */ 



Degree = Degree * Hashlnc; 


< 



> 


BOOL Result = TRUE; 



> 

LOCAL BOOL NEAR PASCAL showjnenu (hlnstance,hWindow) 


if (Message == WM_COMMAND && Word == IDCANCEL) 



/* This function loads and displays the available menu resources, 


EndDialog (hDialog,Result); 



and adds the "About..." option to the system menu. */ 


else 



HANDLE hInstance; 


Result = FALSE; 



HWND hWindow; 


return (Result); 



C 

BOOL bSetMenu; 


> 

BOOL FAR PASCAL set_temp_dialog (hDialog,Message,Word,Long) 



HMENU hMenuResource, 


HWND hDialog; 



hSysMenu; 


unsigned Message; 





WORD Word; 



hMenuResource = LoadMenu (hlnstance,(LPSTR) MENUNAME); 


LONG Long; 



bSetMenu = SetMenu (hWindow,hMenuResource); 


/* This function is called by Windows to process input to the Set 



hSysMenu = GetSystemMenu(hWindow,0); 


Temperature dialog box. It looks for input from the scroll bars 



ChangeMenu (hSysMenu,NULL,(LPSTR) NULL,NULL, 


and updates the associated control each time a WM_VSCROLL 



MF_SEPARATOR | MF_APPEND); 


message is received. As part of the dialog's initialization, 



ChangeMenu (hSysMenu,IDABOUT,(LPSTR) "About..IDABOUT, 


the current temperature is remembered in case the user changes 



MF_APPEND); 


it and then cancels the dialog. This ensures that the correct 



return (bSetMenu); 


temperature will be displayed. The GraphicTemp variable is used 



> 


for visible updating of the Thermometer when MathTemp falls 



fh ********************** Exported Routines *********************** */ 


within displayable limits. */ 



long FAR PASCAL AppWndProc (hWindow,Message,Word,Long) 





/* This Routine handles all input to the application. Any input 


BOOL Result = TRUE; 



values that the routine chooses not to handle are passed to the 





default window procedure. */ 


if (Message == WMJNITDIALOG) 



HWND hWindow; 





unsigned Message; 


SetDlgltemlnt (hDia log,SET_DEGS,MathTemp,1); 



WORD Word; 


OldTemp = MathTemp; 



long Long; 


bOldTempMode = bCurrentTempMode; 



( 


if (bCurrentTempMode == TRUE) 



BOOL bHandled = TRUE; 


CheckRadioButton (hDialog,FARENHEIT,CELSIUS,FARENHEIT); 



long Result; 


else 





CheckRadioButton (hDialog,FARENHEIT,CELSIUS,CELSIUS); 



if (Message == WM_COMMAND || Message == WM_SYSCOMMAND) 


> 



bHandled = command (hWindow,Word); 


else if (Message == WM_COMMAND) 



else if (Message == WM_PAINT) 





C 


switch (Word) 



paint_window (BeginPaint (hWindow,(LPPAINTSTRUCT) &Paint), 


C 



ViewportWidth, 


case CELSIUS: 



ViewportHeight); 


CheckRadioButton (hDialog,FARENHEIT,CELSIUS,CELSIUS); 





if (bCurrentTempMode == TRUE) 

( 



FEBRUARY 1987 


87 










“When Teradyne's 
Financial Systems 
Group needed DEC 
terminal emulation 
software we 
chose VTERM." 


Gregg Prescott 
Teradyne, fnc. 


VTERM/220 


Over 35,000 VTERM users, like Teradyne’s Financial Sys¬ 
tems Group, recognize the importance of critically evalu¬ 
ating a DEC terminal emulator. Demanding professionals 
require high quality, reliable DEC terminal emulation. 
After painstaking evaluation, Teradyne’s Gregg Prescott 
said, “With VTERM’s speed, ease of use, hot key 
and host control of file transfer, we can build systems 
around VTERM utilizing distributed PC applications.” 
Coefficient’s VT100 terminal emulator, introduced in 1981, was the first in the 
industry. Our thorough attention to detail at every stage of the design, develop¬ 
ment and testing process has won us more satisfied users than all our competi¬ 
tion combined. Now, a new more powerful VTERM supports VT220 terminal 
emulation. Powerful features include: 

• Plug compatible VT220 and VT100 video and keyboard emulation with 
customizable key mappings. 

• Optional Tektronix™ 4010/4014 graphics terminal emulation. 

• Powerful file transfer including the most thorough implementation of 
KERMIT available on the PC, plus XMODEM, and our proprietary 
protocol VTRANS with complete host-side software for VMS™ RSTS/E™ 
RSX11 M/M+™ and UNIX™ 


Quality makes all 
other DEC terminal 
emulators obsolete 


CIRCLE NO. 212 ON READER SERVICE CARD 

Trademarks: DEC, VMS, RSTS/E, RSX11 M/M + , Digital Equipment Corp.; 

Tektronix, Tektronix, Inc.; Lotus, 1-2-3, 

Symphony, Lotus Development Corp.; dBase, Ashton-Tate, UNIX, AT&T, Bell Laboratories. 


• Host data capture and conversion to Lotus® 1-2-3® Symphony® 
and dBase® 

• 132-column display via horizontal scrolling or optional video board. 

• Scrollback buffer for redisplay of up to 2,000 lines (80 screens!). 

• “Hot Key” toggle between host session and PC DOS. 

• Programmable softkeys with script-like capabilities. 

• Full support for multinational and national character sets. 

Call 212-777-6707 ext. 502, to get the best there is in 
DEC terminal emulation and communications software. 

Coefficient 

The Leader in DEC Emulation Software 

Coefficient Systems Corporation 
611 Broadway, New York, N.Y. 10012 












WINDOWS 


MathTemp = (5*(MathTemp - 32))/9; 
if (MathTemp > HIGHTEMP) 

GraphicTemp = HIGHTEMP; 
else if (MathTemp < LOWTEMP) 

GraphicTemp = LOWTEMP; 
else 

GraphicTemp = MathTemp; 

bCurrentTempMode = FALSE; 

SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1); 

> 

else 

break; 

break; 

case FARENHEIT: 

CheckRadioButton (hDialog,FARENHEIT.CELSIUS,FARENHEIT); 
if (bCurrentTempMode == FALSE) 
i 

MathTemp = ((9*MathTemp)/5)+32; 
if (MathTemp > HIGHTEMP) 

GraphicTemp = HIGHTEMP; 
else if (MathTemp < LOWTEMP) 

GraphicTemp = LOWTEMP; 
else 

GraphicTemp = MathTemp; 
bCurrentTempMode = TRUE; 

SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1); 

> 

else 

break; 

break; 

case IDOK: 

EndDialog (hDialog,Word); 
break; 

case IDCANCEL: 

MathTemp = OldTemp; 
bCurrentTempMode = bOldTempMode; 

EndDialog (hDialog,Word); 
break; 
default: 

I 

) 

> 

else if (Message == WMVSCROLL) 

C 

switch (Word) 

< 

case SB_LINEUP: 

MathTemp = MathTemp + Degreelnc; 
break; 

case SB_LINEDOWN: 

MathTemp = MathTemp * Degreelnc; 
break; 
default: 

MathTemp = MathTemp + 0; 

> 

if (MathTemp < LOWTEMP) 

C 

GraphicTemp = LOWTEMP; 

SetDlgltemlnt (hDia log,SET_DEGS,MathTemp,1); 

> 

else if (MathTemp > HIGHTEMP) 

( 

GraphicTemp = HIGHTEMP; 

SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1 ); 

) 

else 

l 

GraphicTemp = MathTemp; 

SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1); 

> 

> 

else 

Result = FALSE; 


return (Result); 

> 

int FAR PASCAL WinMain(hInstance,hPrevious,IpCmdLine,Show) 

/* This routine is called whenever a new instance of the 

application is created. First, init_app is called so that all 
necessary initialization can take place. Then a loop is created 
that waits for input to the application and dispatches the input 
values to the application's window procedure. */ 

HANDLE hlnstance, 
hPrevious; 

LPSTR IpCmdLine; 
int Show; 

( 

HWND hWindow; 

hWindow = init_app (hPrevious,hlnstance,IpCmdLine,Show); 

if (hWindow != NULL) 

( 

MSG Message; 

while (GetMessage ((LPMSG) SMessage,NULL,0,0)) 

C 

TranslateMessage ((LPMSG) SMessage); 
DispatchMessage ((LPMSG) &Message); 

> 

> 

return (0); 

> 


LISTING 4: THERME.H 

/* (c) Copyright 1985 MICROGRAFX, Inc., 

1820 N. Greenville Ave., Richardson, Tx. 75081. 

THERME.H 

★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★Tit 


This file declares data and routines exported by THERME.C. 

#define CELSIUS 04 

#define FARENHEIT 03 

#define LINTARGS 
#define PRINT 100 

#define SCROLL_DEGS 02 

#define SET_DEGS 01 

#define SETTEMPERATURE 300 

extern BOOL FAR PASCAL about_dialog (HWND,unsigned,WORD,long); 
extern long FAR PASCAL AppWndProc (HWND,unsigned,WORD,long); 
extern BOOL FAR PASCAL print_dialog (HWND,unsigned,WORD,long); 
extern BOOL FAR PASCAL set_temp_dialog (HWND,unsigned,WORD,long); 
extern int FAR PASCAL WinMain (HANDLE,HANDLE,LPSTR,int); 


LISTING 5: THERME 

therme.obj: therme.c \ 
therme.h 

cl -c -AM -Gsw -Oas -Zpe therme.c 

therme.res: therme.re \ 
therme.h \ 
therme.ico 

re -r therme.rc 

therme.exe: therme.def \ 
therme.obj \ 
therme.res 

link4 therme,therme.exe,therme/map,mlibw,therme.def 
mapsym therme 
rc therme.res 


FEBRUARY 1987 


89 









Pfix86 plus 


Pfinish 


PIink86/?fc 


PforCe 





PC BRAND 
NOW PFEATURES 
PFANTASTIC 



T oday's professional programmer demands high performance 
tools that speed up and enhance the application development 
process. That’s why more programmers rely on one company for 
the best engineered, highest performance tools available— 
Pheonix. 

P hoenix offers a full line of powerful, yet easy-to-use, tools 
that help programmers more efficiently write, test and 
deliver the best applications possible. Complete, fully detailed 
documentation accompanying each tool enables quick mastery of 
the product. In addition, all Phoenix tools are backed by full-time 
customer support professionals respected throughout the indus¬ 
try for their commitment and expertise. As a result, many 
Phoenix tools are already established as industry standards and 
others are fast on their way. 


Flink™ 86 plus 

P link86pyus is the only linkage editor 
containing advanced overlay capa¬ 
bilities. It handles any compiler or 
assembler producing standard Intel or 
Microsoft OBJ files, including COBOL 
and FORTRAN, Lattice C, Cl C-86, 
Microsoft/IBM languages, and 
mbp/COBOL. Virtual memory manage¬ 
ment ensures ample capacity for sym¬ 
bol and common block names (35,000). 
Plink86 plus supports an unlimited size 
file, an unlimited number of modules 
and up to 4,095 overlays nested up to 
32 deep. Merges object modules, 
caches overlays in extended or ex¬ 
panded memory, and automatically 
reloads overlays upon function return. 
Includes Plib86 object library manager. 
List: *495 PC Brand *359 

Plib™ 86 

P lib86 is an object module librarian 
for Microsoft and Intel format 
object modules and libraries. With 
Plib86, you can add, delete or extract 
modules to or from libraries, and 
explode a library to its component 
modules with one command. Plib86 also 
produces program cross-reference 
listings in various formats to a disk file, 
screen or printer. 

Originally listed at $195. Plib86 is now 
included with P\mk86plus. 

Ptel 

A Pfantastic communications program 
for use with most popular modems 
such as Hayes and compatibles, DEC, 
Racal Vadic, Anchor, US Robotics and 
Novation. Ptel automatically adapts to 
'Mink, XModem, Kermit or Modem 7 
for CRC checking and for ufn and afn 
(i.e. ‘'wildcard”) file name list transfers, 
if the bulletin board or the other end 
computer supports them. With Mink, 
you’ll even get a forecast of file trans¬ 
mission time, always useful in controll¬ 
ing telephone expenses. 

In addition to saving received files, 
Ptel can create and save a transcript of 
the session commands and messages. 

Highly configurable, with choices 
temporary or saved as altered defaults. 
Unique telephone directory of bulletin 
boards and other services, allowing 
access by service name. Ptel runs fully 
interactive or can be batch driven from 
a script. You can even exit to DOS 
move files around or run another appli¬ 
cation and then return to Ptel, all with¬ 
out dropping the line. 

List: *195 PC Brand: *149 


Pasm™ 86 

P asm86 provides both quick assem¬ 
bly and superior syntax checking, 
plus a wealth of other features and 
utilities to maximize programming pro¬ 
ductivity. It is a fully MASM-compatible 
8086 macro assembler that supports 
8087, 80286 and 80287 operating code 
mnemonics. Features include ability to: 
define local symbols in the current pro¬ 
cedure, assemble files with up to 15,000 
symbols, define symbols at assembly 
time, obtain listings of error lines only, 
with warning messages on questionable 
statements. Pasm’s comprehensive 
documentation includes detailed 
descriptions and examples of each pro¬ 
cessor instruction. Now includes Pfix- 
Lite, a subset of Pfix86 plus. 

List: *195 PC Brand: *144 

Pmate™ 

A full screen, single keystroke, fully 
customizable text processor/ 
editor with advanced features includ¬ 
ing: ability to run in the background, C 
and FORTRAN specific macros, auto¬ 
matic disk buffering, ten individual 
auxiliary buffers, menu, mouse, or 
command driven with extensive macro 
command language, and horizontal 
scrolling. Pmate offers automatic word 
wrap, text formatting, global or local 
setting of margins, tab stops, indents, 
and a unique last-in, first-out "garbage 
stack” that saves deleted items for 
recovery. 

List: $195 PC Brand: *149 

Pre-C™ 

N ow twice as fast! Similar to the Unix 
LINT for C, but with additional 
functionality. It crosschecks multiple 
source files and libraries at once, 
reporting incorrect, obsolete, and non¬ 
portable C usages that no compiler 
would catch. Pre-C immediately uncov¬ 
ers errors in interfaces between pro¬ 
gram modules which are very difficult 
to find using only a debugger. Pre-C 
accepts full UNIX System III C syntax, 
a subset of which is implemented by 
most MS-DOS C compilers, as well as 
ANSI proposed extensions. External 
libraries can be used with or without 
source code. Pre-C libraries for the 
latest releases of the Mark Williams, 
Lattice, Cl, Microsoft, Wizard, and 
Aztec ”C” compilers are included, and 
others can be added by supplying Pre- 
C with function names and arguments. 
All memory models are supported. 

List: *295 PC Brand: *208 


Pfinish™ 

P finish helps to "fine-tune” a soft¬ 
ware product by identifying ineffi¬ 
cient or unnecessary sections of code 
that need to be rewritten for maximum 
performance. It analyzes your program 
during execution, producing reports 
and histograms that give a snapshot of 
which routines were reached, their 
callers, how many times each is 
executed, how much time is spent in 
each, how many instructions are 
executed in each, and more. Histo¬ 
grams and tabular reports, sorted by 
address or symbol, may be written in 
any page width or height, to a file, the 
console, or the printer. Pfinish, unlike 
other "profilers", can use symbol table 
information to produce much more 
meaningful analyses on overlays and 
interrupts. 

List: *395 PC Brand *279 

Pdisk™ 

P disk is a complete disk manage¬ 
ment package that includes ad¬ 
vanced Backup/Restore, Tree Manage¬ 
ment and Disk Cache utilites. Menu, 
command line or file-driven. Many 
options permit backup/restore mclu- 
sions/exclusions, whole and partial sub¬ 
directories, backups by date/time, file 
type, and backups of all files or files 
changed since last backup. It can also 
maintain a log of backups. Supports AT 
high-density floppies, PC floppies, and 
any storage device accessible through 
a device driver. Tree-oriented Direc¬ 
tory, Delete, Copy, Compare, and 
Remove-Directory simplify manage¬ 
ment of complicated subdirectory struc¬ 
tures. CACHE significantly speeds up 
disk operation on PC/XT/AT by keep¬ 
ing data in memory instead of disk. In 
addition. CACHE is compatible with the 
Lotus-Intel-Microsoft (LIM) expanded 
memory specification, as well as ex¬ 
tended memory. 

List: *195 PC Brand: *148 


i 


Pmaker™ 

S imilar to the Unix MAKE utility, 
Pmaker keeps track of which 
modules in a program are changed, 
and recompiles, reassembles, and 
relinks those modules to produce a 
finished product—all with a single com¬ 
mand. An essential tool for managing 
large, complicated, or distributed pro¬ 
gramming projects, Pmaker is easier to 
use than similar products, which re¬ 
quire you to create lists of all your input 
files. Pmaker includes a utility that auto¬ 
matically creates and edits such lists 
based on answers to a few simple 
questions. Pmaker works with any com¬ 
piled language, linker, or other tool you 
use. 

List: *125 PC Brand: *105 

Pfix™ 86 plus 

P ix86 plus is an easy to use, menu 
driven, multi-windowed symbolic 
debugger that works with any IBM or 
Microsoft compiled language. 

Phx86plus accesses the full symbol 
table provided by MS Link or 
Plmk86 plus, and automatically handles 
Plink86p/us-overlaid or resident pro¬ 
grams. Source code, assembly lan¬ 
guage translations, stack, data areas, 
and breakpoints are displayed simul¬ 
taneously. Features include: In-line 
assembler for temporary patches, 
temporary and permanent breakpoint 
settings, full speed or trace modes, 
user-assignable variables, dual-monitor 
support, up to 100-step traceback, 
debug log to disk or printer, synchron¬ 
ized source file display, breakpoints in 
source code, disassembly to disk, con¬ 
figurable menus, multiple code and 
data windows, and keystroke macros. 
List: *395 PC Brand: *279 

PforCe™ 

P forCe is a pre-coded optimized 
object-oriented toolkit of over 400 
routines for C programmers. It includes 
data bases with B-trees, windows, 
interrupt-driven communications, string 
handling, menus, all of the basic DOS 
interfaces, and a complete set of low- 
level functions to interface directly to 
the hardware. PforCe comes complete 
with indexed reference manual, on line 
resident help, and quick reference 
card. It supports all memory models of 
the following C compilers: Lattice, 
Aztec, Microsoft, CI-86, and Wizard. 
PforCe includes full source code and 
there are no royalties on generated ap¬ 
plications using the libraries. A 
demonstration diskette is also available. 
List: *395 PC Brand: *289 

Pfantasy Pac 

A super value pac of Phoenix good¬ 
ies. Includes Pfix86 plus, Pmate, 
Ptel, Plink8 6plus, Pmaker and Pfinish. 
List: $1295 PC Brand: $895 


For Orders, Literature, or Catalogs, Call Us at... 

8 OOPC-BRAND 

That's (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N. Y. 10011-4311 
Telex: 667962 (SOFT COMM NYK) 

© 1986 PC BRAND Prices, terms, and specifications subject to change without notice. 


















PC BRAND; CAREFULLY CHOSEN 
PROGRAMMER TOOLS pgggs£ 


BRIEF Is Anything But. 
A Whopper of an Editor 

W ith a name that belies its thorough¬ 
ness, Brief™ has every feature 
you’ve ever contemplated for your editor- 
in-chief. Text, from keyboard or files, is 
housed in multiple buffers, and scrolled 
through one or more windows you open, 
close, resize. A text buffer may be called to 
different windows to view two areas at 
once. A change in one changes both. Text 
blocks may be marked for printing, writing 
to files, movement to scrap buffers for cut 
and paste into other buffers, or deletion, 
with as many "undo” levels as you want. 

Brief has text search abilities rivaling 
"grep”, with wildcards for matching, 
indifference to intervening characters, 
acceptance of character ranges. 

If you use Lattice, C86™, or Wizard, and 
have 320k, you can compile your C 
program without ever leaving Brief. It finds 
the lines with errors, and marches you 
through the text for repairs. 

Parts of Brief were written with its own 
Lisp-like macro language which has 
structure, 32-character variable names, 
conditional execution, loops, and you can 
actually read it! Nothing like the 
hieroglyphs we’ve seen elsewhere. Bulletin 
board arid public domain disks with 
macros. "Simply the best text editor you 
can buy", Dvorak Infoworld. (Needs 192k.) 
Ask for: List: PC Brand: 

U0590 *195 Call 

HALO GRAPHICS 
SYSTEM Multi-Board 

Graphics Library 

The premier graphics library that got the 
ball rolling for PC-based graphics and has 
grown so omnipotent that it supports over 
25 graphics boards — including IBM’s 
EGA and Nr. 9 Revolution's hi-res series — 
and has a multitude of mouse and printer 
drivers. All that in each box. Separate C 
versions for Lattice, M’soft, Aztez, CI86. 

What does Multi-Halo do? A down to the 
last pixel graphics library plus functions to 
reset drivers so distributed program can 
run on anything. Wonderful value for single 
license. Costly royalties though for 
redistribution. Specify: S0315 & Language. 
List: *300. We: * 219 . With Dr. Halo II, a free¬ 
standing "paint”: List: *440, Us: * 299 . 


WINDOWS for C/WINDOWS for DATA 

Microsoft Windows™ and TopVieW™ Compatible 

w 


1 indows for C™is a library of over 80 
functions to add the pizazz and prac¬ 
ticality. of window partitioning to your 
application. Unlimited windows, each 
defined in a C structure for easy reference 
throughout your program, can be made 
either to pop up or permanently overwrite 
the screen. Routines will scroll and 
highlight lists with arrow keys, will read 
and scroll ASCII files vertically and 
horizontally in windows, and even write to 
memory-loaded files off the screen. 

Logical treatment of video, attributes 
permits unchanged programs to run on 
color or monochrome. Colors of windows 
are set individually. 

All functions are in separate modules; 
only those used are linked. Only buffers 
holding on-screen or temporarily 
obscured windows occupy RAM; others 
released dynamically. Best overall rating 
and fastest display in Bill Hunt's 7/85 Tech 
Journal review of five windowing products. 

Windows for Data comprises all of 
Windows for C but takes in data through 
the windows as well. At the high level a 
single function lets you specify prompt 
string, field length, data type, screen 
location, picture, target variable, then sets 
lesser functions scurrying to get and 
process a user’s input. There are utilities to 
get system date and time, mess with 
strings, create your own masks for fields. 

Field options can require entry, prevent 
entry, permit insert or overtype, beeping 
on invalid or overflow keystrokes, and 
attachment of field-specific help messages 


and functions you want called to display 
messages or validate entries. And you 
decide which keys will clear a field, jump 
to the next or prior, quit, etc. Options 
diverse enough that a set of "fields" can be 
made to behave like a Lotus™ menu. 
Specify Compiler: List: PC Brand: 

T0100 Windows for C *195 *149 

T0150 Windows for Data *295 *259 


TorLthroughN-:f e sea i, some 

^X^ornPCB^ 


MICROSOFT C 4.0 

A Great CBattle Rages and You’re Winning 


A s the dreadnaughts pound each 
other with ever heavier ordnance, 
today’s programmers reap the spoils of this 
war. Bundling a source debugger and a 
"make”, and sporting a "huge" memory 
model permitting single data objects 
larger than 64k, the Microsoft C compiler 
has jumped a full version number to 4.0. 

But what’s really impressive are the bench¬ 
marks reported in Dr. Dobb’s (8/86) 
encyclopaedic survey of 17 C compilers. 
Microsoft's and IBM’s C (licensed from 
Microsoft) run away with the contest 
winning 11 of 27 benchmarks. 

The CodeView™ debugger, free for a 
limited time, uses windows to show every¬ 
thing on one screen: source alongside 
disassembled object, variables, stack and 
registers. Drop down windows—use a mouse 
if you like—obviate learning of commands. 
"A source-level debugger that puts the rest 


C-TREE 

B-Tree File Manager, Source Code, No Royalties! 

c 


-tree is sturdy code that has 
weathered many seasons of pro¬ 
longed and widespread use. It comes in C 
source, so you can modify it to fit a special 
case. No royalties provided you bind it into 
your binary application. 

C-tree’s design splits nodes to allow any 
number of users to access an index file 
simultaneously even when updates are in 
progress. So multi-user configurations and 
adaptation to networks are possible. 
Record-locking routines are provided for 


dBC Lattice Library Maintains dBASE 
Compatible Files With the Power and Speed of C 


d BC™ links C to dBASE. It creates and 
maintains files and their indexes which 
exactly replicate dBASE file design. So 
dBASE can read and update them. And 
the reverse. dBC can use any files created 
by dBASE. Now C and dBASE can operate 
on the same data bases interchangeably. 

That opens up the widespread culture of 
dBASE installations to exploitation by C 
programmers. Tap that market, avoid the 
resident dBASE language, and gain the 
advantages of C with this single product. 

dBC’s functions parallel all dBASE's file 
handling commands, many decomposed 
to give closer control. Each backed by 
demo source files on disk. 


Use dBC for custom work for clients, or 
on its own. It’s a complete ISAM file 
manager for C whether or not dBASE will 
be used in tandem, supports all four 
memory models, and can have sixteen 
index and data files open. Big discount to 
buyers of both dBASE II and III versions. 
Specify Lattice, Microsoft 3.x, or DeSmet. 


DOS 3.1/3.2, UNIX and XENIX. 

Thanks to source code which does not 
deviate from the K&R standard, C-tree can 
travel. Tests in many environments prove 
that C-tree gives your application a ticket 
to anywhere. 

C-tree permits any number of keys for a 
data file, supports duplicate keys, 
alphanumeric or numeric, supports files of 
variable record length; multiple keys in 
one index file, and keys of variable length. 
Both high level ISAM routines which handle 
details with minimum coding, and decom¬ 
posed step-by-step functions you can access 
directly. It’s comprehensive. 

Ask for: List: PC Brand: 

F0660 *395 *329 


to shame” (Dobb’s), 

Microsoft C now has five memory models 
for code and data, plus non-library support 
for another thirteen, and boasts alternate 
math packages for speed versus accuracy, 
with or without 8087/80287 chips. A big 
plus in multi-language settings: call from 
this C any routine written in later versions 
of M’soft Pascal, FORTRAN, or Macro 
Assembler. Object code of all four may be 
intermixed come link time or commingled 
into libraries. 

Both linker and library manager are part 
of the package, as is the "make", a UNIX™ 
name for a smart batch program which 
knows to expend minimum effort to rebuild 
any size of project by compiling and 
assembling only elements affected by new 
or changed modules. 

It is reportedly used by Lotus, Ashton¬ 
Tate and, fittingly, Microsoft itself to develop 
■ Windows. Dobb’s calls it "the best MS-DOS 
C development environment value today 
[for] virtually any kind of program 
conceivable" 320k suggested. 

Ask for: List: PC Brand: 

G0500 *450 *295 

CURSES Unix Style Screen 
Management 

Curses from Lattice™ manages the screen 
of the PC like Unix™ curses. Library of 84 
functions and macros parallels Unix with 
matching parameter lists. So Unix pro¬ 
grams are at home on the PC, and vice 
versa. Keeps any number of screens in 
memory, supports color, vast function set to 
get characters, wrap lines, scroll, blank 
lines, highlight, etc. Like Unix refreshes 
screen only on your command. Ask for: 
L0850. List: *125. Here: *99. With Source: 
L0860, *250/*199 


Versions: 

List: 

PC Brand: 

L00II 

For dBASE II 

*250 

*195 

LCCII 

With Source 

*500 

*390 

LOIII 

For dBASE III 

*250 

*195 

LCIII 

With Source 

*500 

*390 


Latest'f^lfsted!sinst<** 

Everything^ for cre dit 

W No su/chfgndhe-spot 

educa- 

J FOR 

ssessss* 


PANEL Feature-Laden Screen Design Tool 

checking user field entries. Diverse at¬ 
tributes may be selected for any field — 
size, data type, color, conversion of input 
to upper case; clearance of existing data 
when new entry is started; masks for 
standard formats (eg, dates); phrases 
which fill in when their first letter is 
typed; multiple-choice lists from which 
to choose by cursormg a highlighted bar. 
Fields may be multi-lined and scrolled if 
larger than the screen space allotted 
them. Specify: S0400 & Compiler. List: 
*295 Us: *229 


W riting your own screenware can 
blow completion dates and profits. 
Panel™ works with you interactively to 
set up foolproof screen displays and 
data entry forms rapidly. Output is C 
source code. 

Not just single plane: layer your screen 
designs with up to ten overlapping 
images: Background pop-up lists, help 
boxes, and alternate input fields. 

Panel builds in a user interface for 
keystroke movement within and between 
fields, supplies validation routines for 




For Orders, Literature, or Catalogs, Call Us at... 

800 PC-BRAND 

That's (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311 
Ttelex: 667962 (SOFT COMM NYK) 

(I 1986 PC BRAND 

Prices, terms, and specifications subject to change without notice. 













TODAY’S TOP QUALITY AIDS TO 
PROGRAMMING PRODUCTIVITY 


DAN BRICKLIN’S DEMO PROGRAM 

Storyboard Your Program 


GREENLEAF Bountiful 
FUNCTIONS Harvest 

C source, assembler source, and binary 
libraries of 225 functions for many com¬ 
pilers. Emphasizes tight functional group¬ 
ings to minimize loading code which your 
application may never use. Manual helps 
select functions, bulletin board, too. 

A sampling: DOS extensions for file and 
directory manipulation; Screen: to select 
mode, page, monochrome or color, palette; 
cursor shape, positioning; clearing and 
scrolling; pixel get and put; read light pen. 
Stnngs: Center, justify, etc.; efficient list 
operations which add, delete, sort string 
pointers for top speed. Other: graphics 
character primitives, keyboard status, func¬ 
tion key assignment, time/date, read 
registers and memory size, peek and 
poke. Mature best-seller. Specify: S0770 & 
Compiler. List: *185, Here: *139 


GREENLEAFjfeiio World 
COMMUNICATIONS 

Want your application to communicate 
with other users or remote date bases by 
asynchronous communications built right 
into your C programs! Even if you don’t need 
it now, that's a skill to have at the ready! 

120 functions and demo programs in 
both C and assembler source code set up 
separate transmit and receive ring buffers 
for up to 16 simultaneous channels. In¬ 
terrupt driven so you can halt an incoming 
record, display it, file it, let the user edit it, 
then continue. Goodbye separate com¬ 
munications software. 

Supports up to 9600 baud, ASCII or 
binary, any parity or word length, 8250 
UARTs, Xon/Xoff and Xmodem, 
WideTrack receive. Specify: S0750 & 
Compiler. List:*185, Us: *139 

INTERACTIVE-C 

Compiler-Compatible 
Interpreter , Editor, 
Debugger 

E arlier C interpreters were miracu¬ 
lous compromises. Interactive-C 
shows how far C interpreters have 
come. More than an interpreter, 
Interactive-C is a fully-integrated 
development environment: a complete 
K&R interpreter bound tightly to its 
own editor and debugger. 

Slice through programming projects 
like a hot knife through butter. Exten¬ 
sive error-checking insures immediate 
detection of program misbehavior. 

State of the art debugging tools 
include breakpoints, watch values, sev¬ 
eral stepping options and interactive 
viewing and modification of variables. 
An Interactive-C exclusive lets you 
interrupt to edit and "continue'' from 
where you left off. Eliminates plodding 
replays of already debugged code— 
the ball and chain of other interpreters. 

Operate Interactive-C using adjust¬ 
able edit, command, and status win¬ 
dows. Toggle a second screen show¬ 
ing only your program’s output— 
never any crowded intermixing. Or, 
boost productivity with twin CRTs. 

Load object code of functions you 
have already compiled. Or of com¬ 
mercial libraries. Interactive-C has 
immediate mode, syntax checking 
both as you type and run, and cursor 
positioning precisely pointing at an 
error, not possible with incremental or 
pseudo-compilers which leave source 
code behind. 

100% compiler compatible—right 
down to header files and library calls. 
Port programs between Interactive-C 
and your compiler with no modifications 
whatever — not even tricky areas of 
dynamic memory allocation and I/O. 
Specity: List: PC Brand: 

E950 & Compiler *249 *219 


T he Legendary One has created 

Metaphor Two when the rest of us are 
still on Zero. Dan’s first was the onginal 
electronic spreadsheet (VisiCalc™). This 
one is for programmers. 

Words don't express program ideas 
because programs are screens! Dan’s 
Demo creates slide shows. Create a 
screen — a snapshot of your planned pro¬ 
duct as it runs. Anything goes: words, 
borders, box rules, inverse and underlining 
of monochrome, fore- and background color. 
Copy this “slide" to an empty screen. 
Change it a little, to show the next instant of 
mn-time. Do it again. Presto, a whole slide 
show of your program in action. 

All 250 characters and attributes are 
available from scrollable lists which pop to 
the screen. All commands are layered in 
Lotus-style pop-up menus. Frequent 
choices mapped to function keys as well. 


80x25 character mode, not bit-mapped. 

Screen areas can be blocked for cut and 
paste or filled with color or characters, 
even blink. Slides can overlay on others, 
can be shuffled, deleted. Slides can pro¬ 
ceed at time intervals or branch anywhere 
in the slide sequence depending on user 
keyhits. 

Invaluable to prototype the program you 
are about to write, to position the labels, 
choose the color decor, smoothe out the 
keystroke interface. Or load the “capture” 
utility and snapshot the screens of any run¬ 
ning program for an instant slide show. 

Each copy entitles you to redistribute fifty 
of the slide projector program that runs 
demos. Plain manual, no binder keeps 
price of big product small. “Might... 
become the essential tool in.. .user inter¬ 
face prototyping," Tech Journal. Ask for: 
N0100. List *75 US *69 


BASTOC OPTIMIZES! 

Translates BASIC Into C 

F or a trifling price, BASTOC™ moves 
truckloads of BASIC code over to C. 

It’s a translator which takes in Microsoft 
Extended BASIC and emits pure K&R C 
for Lattice 3.0. It will optionally convert 
your program into a single monolithic C 
function or decompose it into separate 
functions, one for each GOSUB label. 

Version 2's optimization dramatically 
reduces execution time. Converts to in¬ 
tegers those variables in BASIC programs 
which do not need floating point. Where 
BASIC uses full assignment statements to 
increment counters, BASTOC converts to 
C’s compact form. Strings dynamically 
allocated nddmg your application of BASIC's 
catatonic halts for garbage collection. 
Creates-structure of even convoluted 
BASIC code. Huge worksaver. 

Ask for: List: PC Brand: 

S0375 *495 *399 


Shopping List for the Power Workbench 


ASSEMBLERS & DEBUGGERS LIST US 

Advanced Trace-86 Morgan, ASM Interpreter ... 175 119 

Codesmith-86 Dubugger by Visual Age . 145 99 

CSD Debugger C source level by Mark Williams 75 55 

C-Sprite Debugger by Lattice, source level . 175 139 

Microsoft Macro Assembler with Utilities . 150 109 

PASM86 by Phoenix, Macro Assembler . 195 144 

Periscope I Debugger Data Base Decisions .... 295 235 

Periscope II Data Base Decisions . 129 99 

Periscope I l-X soft ware only . 115 74 

Pfix86 Plus Phoenix, Symbolic Debugger . . . 395 279 

BASIC LANGUAGE 

BetterBASIC Summit Software . 195 165 

BetterBASIC Utilities 8087 Math Support . 99 85 

Btrieve Interface . 99 85 

Run-Time Module . 250 225 

Microsoft BASIC Interpreter for XENIX . 350 295 

Microsoft QuickBASIC Compiler full BASICA .. 99 79 

Professional BASIC by Morgan . 99 69 

True BASIC True BASIC Inc . 150 99 

Run Time Module . 150 99 

True BASIC Libraries Btrieve, Asyn, Sort, etc.. . . Var Call 

C COMPILERS 

C-86 Compiler Computer Innovations . 395 289 

Lattice C Compiler from Lattice . .. 500 299 

Let’s C Compiler by Mark Williams .. 75 55 

with CSD Source Level Debugger . 150 105 

MWC-86: Mark Williams C Development 495 369 

Microsoft C Compiler 4.0 . 450 295 

C INTERPRETERS 

C-Terp by Gimpel Software . 300 249 

Instant C by Rational Systerns . 500 395 

Interactive-C by IMP ACC with debugging . 249 219 

RUN/C Professional from Lifeboat . 250 185 

RUNIC without Loadable Libraries . 120 109 

TEXT EDITORS 

Brief from Solution Systems . 195 Call 

Edix by Emerging Tech...Multi-screen . 195 159 

Epsilon by Lugaru Software, like EM ACS . 195 149 

FirsTime by Spruce Technology, C syntax . 295 229 

Kedit by Mansfield, similar to Xedit . 125 99 

LSE, the Lattice Screen Editor Multi Window ... 125 100 

Pmate by Phoenix, with Macros . 195 149 

Text Management Utilities Grep, splat, diff, etc. 120 100 

Vedit by Compuview . 150 99 

Vedit Plus by Compuview . 185 129 

FILE MANAGERS 

Btrieve by Softcraft, no royalties . 250 195 

Btrieve Network by Softcraft . 595 465 

C-Tree by FairCom - no royalties, source . 395 329 

R-Tr ee by FairCom-Report Generator . 295 245 

C-Tree & R-Tree Combo by FairCom . 650 541 

dBC dBASE file manager from Lattice . 250 195 

with source . 500 390 

dbVista single user DBMS by Raima . 195 139 

with source . 495 399 

dbVista multi-user DBMS . 495 399 

with source . 990 815 

Opt-Tech Sort Can sort Btrieve files . 149 105 

SCREEN DESIGN 

Curses by Lattice, UNIX screen designer . 125 99 

with Source . 250 199 

Greenleaf Data Windows. New . 225 169 

with source . 395 297 

source purchased later . 225 169 

On-Line Help from Opt-Tech Data . 149 105 

Panel by Roundhill, no royalties . 295 229 

View Manager for C by Blaise . 275 189 

Vitamin C by Creative Programming . 150 129 


Windows for C Vermont Creative Software .... 
Windows for Data includes Windows forC .... 
ZView Data Management Consultants . 

GRAPHICS 

Essential Graphics by Essential, no royalties 

GSS Graphics Development Toolkit. 

GSS Kernel System by Graphic Software . 

GSS Kernel System for IBM RT . 

GSS Metafile Interpreter. 

GSS Plotting System. 

Halo by Media Cybernetics . 

with Dr. Halo II . 

Halo for Microsoft includes all fonts . 

COMMUNICATIONS 

Asynch Manager by Blaise, for C or Pascal .... 

Greenleaf Communications by Greenleaf . 

PTel by Phoenix, Binary File Communicator. . . . 

Software Horizons Pack 3. 

UTILITY LIBRARIES 

Blaise C Tools Plus. 

Blaise C Tools. 

Blaise C Tools 2 . 

C Food Smorgasbord by Lattice . 

C Utility Library by Essential, 300 functions .... 
Greenleaf Functions by Greenleaf Software . . . 

PforCe by Phoenix, vast library . 

Software Horizons Packages . 

TopView Tool Basket by Lattice, source avail. . . 

DEVELOPMENT TOOLS 

Code Sifter by David Smith Software, Profiler 

C-Worthy by Custom Design Software . 

C-Worthy for Network Menus, help, errors . 

Dan Bricklin’s Demo Program Prototyper . 

LMKfrom Lattice by Lattice, “make” like UNIX . 

Microsoft Window Development Toolkit. 

PC-Lint by Gimpel Software, after UNIX's “lint”. 
PFinish by Phoenix, EXE performance analyzer. 

Plink86 Plus Utilizes memory for overlays . 

Pmaker by Phoenix, like UNIX “make” . 

Pre-C by Phoenix, UNIX “lint"-alike . 

Pfantasy Pac six Phoenix products . 

OTHER TOOLS 

BASTOC by JMI, convert BASIC toC . 

BASIC-C BASIC’s functions added toC . 

The HAMMER by OES Systems . 

Report Option by Softcraft, Btrieve Report Gen.. 
Xtrieve by Softcraft, Query Utility for Btrieve . . . 

FORTRAN COMPILERS & UTILITIES 
ACS Time Series by AIpha Computer Service. . . 

Forlib- Plus by Alpha Computer Service . 

Microsoft FORTRAN Links with Microsoft C . . . 

Microsoft FORTRAN for XENIX . 

RM/FORTRAN by Ryan McFarland . 

Scientific Subroutine Package by Alpha . 

The Statistician by Alpha Computer . 

Strings & Things by Alpha Computer . 

OTHER LANGUAGES & UTILITIES 

Microsoft COBOL Compiler. 

Microsoft COBOL Compiler for XENIX . 

Microsoft COBOL Tools with Source Debugger. 

Microsoft COBOL Tools for XENIX . 

Microsoft Lisp New Common Lisp . 

Microsoft MuMath includes Mu Simp . 

Microsoft Pascal Compiler Links with M'soft C. 

Microsoft Pascal Compiler for XENIX . 

PDisk Phoenix’s new disk manager . 

RM/COBOL by Ryan-McFarland . 

RM/COBOL QXANSI85 COBOL . 

Source Print Aldebaran’s diagrammer . 


195 

149 

295 

259 

245 

175 

250 

210 

495 

375 

495 

375 

795 

645 

295 

235 

495 

375 

300 

219 

440 

299 

595 

434 

175 

125 

185 

139 

195 

149 

149 

119 

175 

125 

125 

89 

100 

69 

150 

109 

185 

139 

185 

139 

475 

349 

Var 

Call 

250 

199 

119 

89 

295 

269 

495 

449 

75 

69 

195 

149 

500 

365 

139 

125 

395 

279 

495 

359 

125 

105 

295 

208 

1295 

895 

495 

399 

175 

139 

195 

139 

145 

128 

245 

220 

495 

405 

70 

45 

350 

219 

695 

546 

595 

Call 

295 

239 

295 

239 

70 

45 

700 

499 

995 

795 

350 

259 

450 

333 

250 

189 

300 

199 

300 

199 

695 

546 

195 

148 

950 

Call 

1250 

Call 

139 

109 











































































































PRICED TO SAVE YOU MONEY , »jf 
SHIPPED FAST ANYWHERE. 


KYRN-McFARLAND FORTRAN 

A Mighty Fortress Is Their FORTRAN 


NEW! 


P icking over features of rival products 
is not necessary if FORTRAN is your 
need, still the citadel of scientific and 
engineering work. Ryan-McFarland has 
left the competition battering at the gates. 

RM/FORTRAN™ is a complete im¬ 
plementation of FORTRAN-77 (ANSI 
X3.9-1978), the only PC FORTRAN certified 
by the General Services Administration at 
the highest test level. The reason: it’s a 
big mainframe compiler moved to PCs, 
with the bonus that mainframe and mini 
applications can wander between 

RUN/C PRO 

C Interpreter Links 
Binary Libraries 

R un/C comes in an apprentice and 
pro version. The professional model 
dynamically loads and unloads multiple 
binary function libraries like C-Food 
Smorgasbord™ and Halo Graphics™ — 
potentially any library compiled with 
Lattice’s large model. Inside this inter¬ 
preter your C program can reach for func¬ 
tions in the best of commercial libraries. 

This C interpreter behaves like PC BASIC 
meets WordStar® . Use fullscreen editing 
to create a program. RUN it. If it stumbles, 
LIST it, EDIT it, RUN it again, fix it again. 
Use familiar commands like LOAD, MERGE, 
SAVE, FILES, even TRON and TRACE. 

Ideal for program development. Put up 
code at high speed, try out things devil- 
may care, let RUN/C find your malaprops. 
Blast away until tight little code segments 
are undyingly faithful. 

Manual shows how to develop the inter¬ 
face to a commercial library, using the Lat¬ 
tice compiler (a must!). Link your own func¬ 
tion archive the same way. (320k minimum: 
512k recommended to fit libraries.) 

Ask for: S0950 List: *250 PCB: *185 

ZVIEW 

Screen Design Aid 

A complete package for screen 
design with full windows manage¬ 
ment as a bonus! Easy creation of 
screens with complex validation, such 
as range checking or required/option- 
al data. Powerful Screen Paint utility 
for creating or editing applications 
screens. Built in security levels, set at 
run-time, control read or read/write 
access by field or screen. Automatic 
help screen processing for run-time 
aid per field or screen. Applications 
regain control during field tabbing, 
allowing run-time on-screen transaction 
processing or flow control. Run-time 
functions include Screen Read and 
Write with automatic transparent data 
conversion from screen image to data 
storage, Field Editing, Help Screen 
Processing, even a capability to 
change any field characteristic at run¬ 
time, plus Window Push Pop and Scroll. 
Versions for Lattice, Microsoft and 
Aztec C. Automatic free updates to 
registered users. No run-time royalties. 
List: *245 PC Brand: *175 


environments. 

Now, on your PC, you can develop large 
applications, with programs up to 640k 
(bigger using overlays), arrays over 64k. 
and using a long list of VS, VAX and 
FORTRAN-66 extensions you may have 
grown fond of — long symbolic names, “in¬ 
clude”, IRT bit functions — because R-M 
has left out nothing. 

But what really sets RM/FORTRAN 
apart is optimization. The compiler 
reduces the number of instructions to the 
minimum which will actually execute, and 
even takes advantage of each processor’s 
features to deliver lightning-fast object 
code. It runs 30%-40% faster than Microsoft 
3.2, and could make your mainframe not 
worth the trouble. 

Comes with an interactive symbolic 
debugger like that accompanying IBM VS 
FORTRAN, Plink86 subset, has a cross 
reference compile option, supports 
assembler and C subroutine calls, IEEE 
floating point, 8087 and 80287 chips. 

“Compiler’s documentation, ease of us> 
speed of execution, and debugger 
facilities place it first for recommendation 
said the Tech Journal (10/85). 

R-M has been writing FORTRAN com¬ 
pilers for IBM, DEC, etc. for 20 years. 

There is no greater expert. 

Ask for: List: PC Brand: 

10300 *595 Call 


LATTICE C COMPILER 

Major Upgrades to the Best Selling C Compiler 

L attice now embraces key UNIX™ 
enhancements which have entered 
the language since K&R: void functions 
returning no value, enumerated data types 
to assign stepped values to variables, data 
passing between structures by assignment. 

The greatly expanded libraries (325 
functions!) enable the file sharing and 
record locking provisions of DOS 3.1, pro¬ 
vide a full complement of transcendentals, 
and a host of utilities to mimic the UNIX 
and XENIX™ environments. 

Lattice 3.0 defaults to the ANSI proposed 
standard when you need strict adherence, 
but command line options restore leniency. 

And it adopts ANSI checking of external 
function arguments by data type to kill bug 
swarms when modules join up at link time. 

Weshipany^lTards We need 
card numder ^PJ w|re fun ds to PC 

address of card^ al Ban k , 12b 

BRAND c°Che 10028, Amount 


GSS GRAPHICS SYSTEM 

Leave the Device Driving to GSS 


G SS™ has reconfigured two compo¬ 
nents of its comprehensive graphics 
tools to conform with the ANSI Computer 
Graphics Interface (CGI) standard. 

At the heart of the system is the Develop¬ 
ment Toolkit which contains all language 
interfaces and device drivers for key¬ 
boards, mice, joysticks, tablets, printers, 
plotters, cameras, and more. Drivers house 
management of vector graphics (plotters) 
and bitmaps used by raster input devices 
(scanners) to insulate the application pro¬ 
gram from concern for device ldiosyncracy. 
No one else has implemented CGI that 
way. It means your programming remains 
generic: just switch drivers and the same 
program will drive a different device. 

GSS Kernel™ conforms to level 2b of 
ANSI’s Graphical Kernel System (GKS) and 
contains all its needed drivers and 
language bindings. Kernel has macro level 
tools to draw and color an object, store the 
sequential instructions, and recreate the 
object on its own, as well as segment it. 
transform it, etc. So powerful, a single com¬ 
mand may represent several score lower 
level statements. 

Plotting has the equivalent GKS tools for 
graph and chart generation and their cap¬ 
tioning: hand it apples and oranges, say 
"pie", and it bakes the numbers into a 
digestible display for screen or plotters. 

Kernel and Plotting have tools to convert 
images they create to ANSI Computer 
Graphics Metafiles (CGMs), a tokemzed 
standard for storing every form of graphic 
image as data. The Metafile Interpreter 


ANSI CGI STANDARD'. 

PRICES CUT! 

reads the contents of a CGM and inter¬ 
prets it with full CGI capability for re¬ 
creation on various devices. 

Quality software 9 IBM thinks so. They sell 
the GSS series under their own label. 

Unit royalties and annual fees have been 


Lattice now delivers smaller .EXE files, 
boasts very fast link times and a more effi¬ 
cient aliasing algorithm. New options 
generate code to use 80186 and 80286 
features; 8087 of course sensed and util¬ 
ized. Lattice has enjoyed pre-eminence so 
long that developers have created far 
more snap^on tools for Lattice C than any 
other compiler. William Hunt’s PC Tech 
Journal review of 12 compilers awarded 
Lattice the only “very good” rating for 
add-on library availability. 

Ask for: List: PC Brand: 

S0100 *500 *299 

BETTER BASIC 

Convert Microsoft BASIC. 
Structured, Compilable. 

C ombines the familiarity of BASIC with 
the best features of C, Pascal, and 
Modula 2, yet BetterBASIC is 100% com¬ 
patible with Microsoft’s GW™ BASIC and 
IBM BASICA including graphics, sound, 
and assembly language calls. So load your 
old programs and RUN. SAVE and they are 
converted automatically to BetterBASIC! 

It’s big: Needs 192k; programs can go to 
i the PC’s full 640k. It’s comfy: Behaves like 
M’soft BASIC at the interactive level, with a 
full-screen editor, direct statement execu¬ 
tion, and always poised to RUN. It’s fast: 
Each statement checked and compiled 
once, not every time encountered. Sieve 
runs 6 times faster than with M’soft. 

C-like structures house file records so 
goodbye to FIELD, MKI$, CVD, LSET, etc. 
Named “procedures” replace GOSUBs to 
lmenumbers. Lots more features: built-in 
linker for compiled modules; trace; debug¬ 
ging breakpoints; cross-reference com¬ 
mand; 32k strings; DOS and BIOS calls and 


instituted forredistnbution. Needs 256k. 

interrupts; recursion. Run-time module 

Ask for: 

List: 

PC Brand: 

stores object code for redistribution. 

GS010 CGI Dvlpmt Toolkit 

*495 

*375 

Ask for:: 

List: 

Us: 

GS020 Kernel System 

*495 

*375 

S1200 BetterBASIC 

*195 

*165 

GS025 Kernel for IBM RT 

*795 

*645 

S1201 Run-time Module 

*250 

*225 

GS030 Plotting System 

*495 

*375 

S1202 8087 Interface 

* 99 

* 85 

GS040 Metafile Interpreter 

*295 

*235 

S1205 Btrieve Interface 

* 99 

* 85 


BTRIEVE ASK ABOUT XTRIEVE & RTRIEVE 

Queen B-tree File Manager Abdicates Royalties 

Can even extend a file across two drives — 
even two hard disks! 

Version 4.x speeds DOS interaction for 
large multiply-keyed files: enables 
variable length records of virtually any 
length; verifies accuracy (optionally) with 
read after write, useful in gritty en¬ 
vironments; offers password and data 
encryption. 

There’s also Xtrieve, for Btrieve file in¬ 
quiry and data manipulation, and Rtneve 
for report writing. All three in versions for 
any network that supports the MS-DOS 3.1 
file sharing function. 

Ask for: List; PC Brand: 

S0650 *250 *195 

S0652 Network Version *595 *465 


T here’s no longer a tithe to incorporate 
Btrieve™ in applications, a welcome 
proclamation if royalties would rum your 
profit margins. Btrieve takes complete 
charge of all file creation, indexing, 
readmg, writing, insertion, deletion, space 
recapture, forward and backward search¬ 
ing. It builds function call “commands” 
right into the language you use: interfaces 
to C, Pascal, BASIC, and COBOL, with sam¬ 
ple programs in all four, come with each 
copy. 

Btrieve has mainframe specifications! Its 
balanced-tree indexing scheme finds any 
key in a million in four or less accesses. 
Files may have up to 24 indexes; fixed 
record length to 4090 characters; indexes 
up to 255 characters; files of 4 billion bytes. 


TERMS AND CONDITIONS OF SALE 


Licenses: Each price is for a license to use a prod¬ 
uct on a single computer and does not constitute 
its ownership. We will inquire for you about site 
licenses. Except as otherwise indicated or where 
"#" follows the Product Code, products may be 
used to create programs for distribution without 
royalty payments or additional licenses, provided 
said programs do not substantially replicate the 
products themselves. 

Compatibility: PC BRAND’S standard products 
are designed to operate with the IBM’ 1 " PC. XT or AT 
under PC-DOS and require no more than 128k of 
RAM unless indicated. Non IBM machines using 
MS-DOS: contact manufacturer about precise dif¬ 
ferences so we can advise. 

Returns: See box page one. Defective parts will be 
replaced. Please call for authorization to return a 
product for refund. 


Payment: We honor MasterCard. Visa, American 
Express (no surcharge), checks in advance, or 
funds wired to PC Brand, c/o Chemical Bank. 126 
East 86 St., New York, Account 034-016058 COD 
(U.S. only) for cash, money order, certified check 
(no fee). NY State, add sales tax. Purchase orders 
accepted from larger corporations and institutions 
at our discretion if you agree to net 30 days plus 2% 
a month late penalty thereafter. 

Shipping & Handling: U.S UPS Surface 1st 
product $6. each add’l $3. UPS 2nd Day Air 1st 
product $10. each add’l $4.50. UPS Next Day Air or 
Federal Express 1-2 Day Air: 1st product $18. each 
add’l $6 FedEx Next Day 10 AM: 1st product $28. 
each add’l $7 International: Charges vary by 
destination and carrier. $10 per shipping container 
for export forms. Air parcel post at your risk beyond 
collected insurable amount. 


For Orders, Literature, or Catalogs, Call Us at... 

800 PC-BRAND 

That’s (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave„ New York, N.Y. 10011-4311 
Telex: 667962 (SOFT COMM NYK) 

c 1986 PC BRAND 

Prices, terms, and specifications subject to change without notice. 












Unreliability mars what otherwise would 
be an excellent value offered by the 
12-MHz AT compatible from PCs Limited. 


The test machine included the stan¬ 
dard items, plus a 40MB Tandon hard 
disk, a 360KB diskette drive, the PC’s 
Limited EGAds! graphics adapter, and a 
Princeton Graphics Systems HX-12E en¬ 
hanced color monitor. The total price 
for this configuration when purchased 
from PC’s Limited is $4,447—more than 
the advertised price, hut still a good 
buy if the equipment works as adver¬ 
tised, Photo 1 shows the entire system. 
(PC’s Limited now offers a package 
price for two configurations of the 
286 12 . The system unit with 1.2MB 
diskette drive, 30MB hard-disk drive, 
one parallel and two serial ports, 

EGAds! card, and 12-inch enhanced 


diskette/hard-disk controller, and a key¬ 
board. Some of the advertisements also 
claimed that the machine is equipped 
with two serial ports and one parallel 
port, but those items were not present 
on the machine tested for this article 
and the manual treats them as options. 
Other components not included in the 
base machine are a hard disk, monitor, 
and display adapter (see sidebar). 

Neither DOS nor BASIC is supplied 
with the 286 12 . Either PC- or MS-DOS 
(versions 2.0 or later) can be used, but 
PC’s Limited advises using PC-DOS 3.1 
or MS-DOS 3.11 or later. Version 3-2 
(packaged with GW-BASIC) is available 
at extra cost from the company. 


tWi be combination of massive adver- 
I tising, a money-back guarantee, 

JL and rock-bottom prices has 
brought PC’s Limited into the limelight 
of the mail-order computer business. At 
center stage in most of the company’s 
advertisements is the PC’s Limited 286 J2 , 
a PC/AT compatible that promises an al¬ 
most unheard-of 12-MHz performance 
at a price thousands of dollars below 
that of IBM’s original AT. 

At the time this article was written, 
advertisements for the 286 12 proclaimed 
the price to be $2,695 for a package 
that includes the system unit with 1MB 
of RAM on the system board, a single 
1.2MB diskette drive, a combination 





























































PCS LIMITED 




PHOTO 3 l SmartYl Disp 


Photo 1: The PC’s Limited machine comes standard with 
1MB of RAM on the system board, a single 1.2MB diskette 
drive, and a combination diskette/hard-disk controller. 

Photo 2: The PC’s Limited system unit, which measures 
18.75 by 16.5 by 6.5 inches, is 25 percent smaller than the 
AT’s. The dotted lines indicate the size of the 286 12 . 

Photo J: The SmartVU LED display panel provides several 
useful diagnostic functions on the 286 12 , including the cur¬ 
rent track that is being read on the disk. 

Photo 4: The PC’s Limited keyboard layout (top) is similar 
to the original AT, but it provides little tactile feedback. The 
position of the Esc and tilde ( ~) keys can be swapped. 

Photo 5: The 80286 and 80287 sockets are located for easy 
access inside the system unit. The support brace on the left 
must be removed before access to slot 8 is possible. 


% 


PC TECH JOURNAL 











































































graphics color monitor is priced at 
$3,595. The same package except with a 
40MB hard-disk drive is $3,695.) 

Because of its price tag, questions 
about the quality of the 286 12 naturally 
arise. Even with the low price, is the 
computer really a wise investment? Is it 
well engineered, or will it spend most 
of its time traveling to and from PCs 
Limited headquarters in Austin, Texas, 
for repairs? When it is first pulled from 
the box, the 286 12 exudes quality. The 
cabinet looks and feels like an IBM 
product, and the SmartVU panel on the 
front of the unit adds a high-tech flavor. 
Unfortunately, the computer tested for 
this article did not live up to its good- 
looking package or its advance billing. 

Before testing could even begin, 
the unit had to be returned to PC’s Lim¬ 
ited three times for repairs. The Smart¬ 
VU panel (the diagnostic read-out on 
the front of the system unit) failed 
twice, once accompanied by the unmis¬ 
takable odor of burning insulation. A 
third problem involved the diskette/ 
hard-disk controller, which failed to ac¬ 
cess the hard disk properly at 12 MHz. 
Until the controller was replaced, it de¬ 
stroyed files, crashed the system, and 
eventually did so much damage that the 
hard disk had to be reformatted. 

After the unit was returned from 
PC’s Limited for the third time, it devel¬ 
oped another problem that prevented 
the warm reboot (Ctrl-Alt-Del) from 
working. Although the system booted 
when it was turned on, it ceased oper¬ 
ating when a warm reboot was per¬ 
formed, and the following message ap¬ 
peared in 40-column mode on the 
screen: “Error 8259 #1 101 System 
Halted.” Aside from this initial problem, 
though, the 286 12 worked almost flaw¬ 
lessly for the rest of the test period. 

SMALL FOOTPRINT 

From the outside, the system unit looks 
like an AT, except narrower. At 18.75 
inches by 16.5 inches by 6.5 inches, it is 
actually 25 percent smaller than the AT. 
Photo 2 compares the footprint of the 
PC’s Limited 286 12 with that of the AT. 

The only apparent penalty imposed 
by the reduced footprint is in drive 
space: the 286 12 ’s single storage bay is 
capable of holding only three half¬ 
height drives, whereas the AT’s two 
storage bays can handle two half-height 
diskette drives and two full-height hard 
disks. The 1.2MB diskette drive is nor¬ 
mally mounted in the 286 12 ’s top bay. In 
the unit tested for this article, the mid¬ 
dle bay contained a 360KB diskette 
drive, and the bottom bay contained a 
40MB hard disk. This arrangement is 


not the only one possible. The diskette/ 
hard-disk controller has cables for two 
diskette drives and two hard disks, so a 
second hard disk could be substituted 
for the second diskette drive without 
having to purchase another controller 
or extra cables. 

One minor annoyance is that the 
1.2MB diskette drive and the 360KB 
drive look identical when viewed from 
the front. Some companies place a large 
asterisk on the front of one drive to dis¬ 
tinguish it; other companies provide ac¬ 
cess lights of different colors. Neither 
method is used on the 286 12 . 

Its small footprint notwithstanding, 
the 286 12 manages to house a full 
complement of eight expansion slots 
(two 8-bit slots and six 16-bit slots) and 
1MB of RAM on its system board. 

The front panel of the 286 12 system 
unit includes a key-lock switch, a flex¬ 
ible set of indicators, and the SmartVU 
panel, as shown in photo 3. The key 
lock is a miniature version of the AT’s 
key lock and provides the same func¬ 
tions. Situated next to the key lock are a 
hard-disk access light and another indi¬ 
cator light, the function of which can be 
selected with a switch on the system 
board. In one setting, this light is sim¬ 
ply a power indicator that is lit when 
power is on. In the other setting, the 
light indicates processor speed (off for 
6,MHz, on for 12 MHz). Because the de¬ 
fault operating speed is 6 MHz, most us¬ 
ers will choose the latter setting, thus 
creating a visual reminder to switch to 
12 MHz after booting. 

Next to the indicator lights is the 
SmartVU diagnostic panel, the trouble¬ 
some component that had to be re¬ 
placed twice in the test unit. When it 
does work, SmartVU provides valuable 
feedback about system operations. The 
panel consists of two separate displays: 
a four-character alphanumeric LED dis¬ 


play and a DIP consisting of a row of 
eight LED bars (see photo 3). 

The alphanumeric display has four 
primary functions. First, it lists the 
names of the power-on routines during 
the boot process and displays error 
messages. On a machine that is operat¬ 
ing properly, the names of the power- 
on routines (such as RAMI, RAM2, Optr, 
KB33, VMem, Inti, and Int2) flash by 
too quickly to be seen. If a problem 
develops, the name of the current test 
remains on the screen for a moment, 
then an error message appears. In the 
case of the test machine, whenever a 
warm reboot was performed the display 
stopped at the test Int2. Then the mes¬ 
sage “Error 8259 #1 101” appeared 
on the screen and also scrolled across 
the SmartVU display. 

The second function of the alpha¬ 
numeric panel is to display the proces¬ 
sor speed whenever it changes. Pressing 
Ctrl-Alt-\ toggles the processor be¬ 
tween 6 and 12 MHz; then the com¬ 
puter beeps and the alphanumeric dis¬ 
play lists the new processor speed. 

The third panel function should es¬ 
pecially please those users who are ada¬ 
mant about having access lights on their 
disk drives. Whenever a drive is ac¬ 
cessed, the panel displays the drive let¬ 
ter, followed by the two least significant 
digits of the sector that is being ac¬ 
cessed. This can be helpful while de¬ 
bugging programs, if only to give hints 
about whether a program is accessing 
the drives at the expected times. The 
sector numbers do not provide much 
explicit information, but they do make 
it easier to estimate the amount of data 
being accessed. With large amounts of 
data, the numbers fly by; when quick 
accesses are performed, only a short 
burst of sector numbers appears. 

The fourth function of the alpha¬ 
numeric panel is to display error mes- 


PC’S LIMITED 286 12 VITAL STATISTICS 


PC’s Limited 286 12 : % 2,695 
1MB memory 
Realtime clock 
1.2MB diskette drive 

Memory capacity on system board 
1MB 

Display adapters 

None provided 

Expansion slots 

16-bit: 6 
8-bit: 2 


Available slots 

(after adding display adapter and 
serial/parallel card) 

16-bit: 5 
8-bit: 0 

Options available 

Monochrome display adapter $ 159 


EGAds! adapter $ 269 

Serial/parallel card $ 199 

12-inch enhanced graphics 
color monitor $ 479 

30MB hard disk $ 699 

40MB hard disk $ 819 


FEBRUARY 1987 


97 








THE BAD NEWS 
ISNTTHE PRICE 



Okay, you could have saved thousands 
with Ability™ the $99 integrated program 
that does everything your armload of 
programs does. 

But maybe even more importandy you 
could have saved tons of time and hassle. 

Because we’ve combined six high- 
powered PC productivity tools into a 
single, simple package. 

You get full-featured wordprocessing 
with no exotic codes to learn, and what- 
you-see-is-what-you-get formatting. 

Spreadsheets larger than Symphony, 
with all the powerful math and business 
functions you need and the ability to 
import Lotus 1-2-3 files (and formulas 
where possible). 

A forms-oriented database that’s easier to use 
than pfs:file. 

Professional business graphics from your spread¬ 
sheets and databases with just a few keystrokes. 


Ability: $99. 


Menu-driven, 
Migent Pocket 
Modem™ and 
Hayes-compatible 
communications. 

Even “slide 
shows” with sound 
on your PC! 

And smooth, 
seamless 
integration 
like nothing 
you’ve ever 
seen before. 


Because with Ability the table and graph you see in 
the letter aren’t just copies pasted in—they’re live. 

So if you change the table in the letter, the 
changes are made in the linked spreadsheet or 
database that contains the underlying data. Or 
change the spreadsheet and the letter is updated 
at the same time. And the graph is automatically 
redrawn to reflect the changes, either way (Perfect 
for those weekly and monthly reports.) 

And anybody can do it with no programming 
at all, because Ability is menu-driven and uses the 
same instructions in all six applications. 

At just $99, Ability could even pay for your PC 
if you don’t already have one. 

Check it out at your local computer store 
or contact: Migent, Inc., PO. Box 6062, 

Incline Village, 

NV 89450. yM|/l=MT 
(702)832-3700. MW IIW— V\ I 


©Migent, Inc. 1986 Ability and Pocket Modem are trademarks of Migent, Inc. 
Other names and products trademarked by others. 


CIRCLE NO. 154 ON READER SERVICE CARD 


PCS LIMITED 


TABLE 1: SmartVU Display Panel Error Messages 


MESSAGE 

DESCRIPTION 

Er02 

80286 failure 

Er03 

Multiple RAM errors in the first 64KB 

Er04 

Video RAM failure 

. Er05 

ROM checksum error 

Er06 

Parity error status bit cannot be reset 

Er07 

8254 timer failure 

Er08 

Programmable array logic or RAM refresh failure 

Er09 

8742-controlled Gate A20 not operating well in 
virtual-86 mode 

ErlO 

Virtual-86 mode exception error, extended memory 
failure, or 8742 failure 

Erll 

The 14-MHz crystal is shorted or inoperable 

Battery Low 

The battery powering the realtime clock is low 


The SmartVU LED display panel, when it works, provides a list of error messages to 
help pinpoint system errors, including a low battery for the realtime clock. 


sages during system operation. These 
messages can indicate a CPU failure, a 
memory problem, or even a low-battery 
indicator for the realtime clock. Table 1 
lists the error messages. 

The second display of the SmartVU 
panel consists of an array of eight LEDs. 
Once the system has been booted, a 
light flashes back and forth across this 
eight-element display, indicating that 
the system is operational. The individ¬ 
ual lights are related to timer interrupts. 
When an interrupt occurs, the LED cur¬ 
rently on is switched off and the next 
one in sequence is switched on. If the 
lights stop flashing, it is an indication 
that the CPU has halted for some reason 
or that interrupts have been disabled. 
This display is useful in determining 
whether a program has really crashed 
or is just taking a long time for compu¬ 
tation. The lights can be disabled if the 
flashing becomes too distracting. 

The Princeton Graphics Systems 
HX-12E monitor and the PC’s Limited 
EGAds! adapter that were included in 
the test unit provide features similar to 
IBM’s Enhanced Graphics Adapter 
(EGA) and Enhanced Color Display. Al¬ 
though a full test of the EGA’s compati¬ 
bility was not performed for this article, 
the EGAds! card exhibited no trouble 
handling software that uses the EGA’s 
special video modes (such as Microsoft 
Word and Windows). The EGAds! card 
is a three-quarter length, sparsely popu¬ 
lated card that contains the Chips and 
Technologies (C&T) EGA chip set. (For 
a review of the EGAds! card, see “The 
EGA Spectrum, Part 1,” John T. Cocker- 
ham, October 1986, p. 80.) 

As might be expected from an 
inexpensive compatible, the 286 12 ’s key¬ 
board is a lightweight model that pro¬ 
vides little tactile feedback, although the 
F and J keys do have ridges to help 
keep fingers positioned properly on the 
home row. Manufactured by the Maxi- 
Switch Company, the keyboard features 
a layout that is virtually identical to that 
of the original IBM AT. Photo 4 com¬ 
pares the two keyboards. 

One interesting note about the key¬ 
board is that it can be used on both AT- 
and PC/XT-compatible computers. A 
switch on the underside of the key¬ 
board sets the mode; another switch 
lets users swap locations of the Esc and 
tilde ( ~) keys to place the Esc key back 
in its original, top-left location. 

OPERATING AT 12 MHz 

The 286 12 comes with 1MB of RAM on 
the system board, rated for 100-nano¬ 
second (ns) access time so that it will 
work properly with a 12-MHz 80286. 


The system board is extremely flexible 
in its method of RAM allocation be¬ 
tween conventional and extended mem¬ 
ory. The default configuration is 640KB 
of conventional and 384KB of extended 
memory; it also can be divided into 
512KB for both types of memory, or 
only conventional memory can be as¬ 
signed. This option is useful when bad 
memory chips are suspected, because 
the user can exchange memory chips 
from the unused extended memory to 
replace the bad chips. 

Unfortunately, the manual for the 
286 12 mentions only the 512KB/512KB 
option, even though the switches are 
set at the factory for 640KB/384KB. Fur¬ 
thermore, the manual warns that when 
the 640KB option is chosen, the remain¬ 
ing memory cannot be accessed, but 
the factory-selected 640KB/384KB op¬ 
tion does permit use of the additional 
384KB as extended memory. 

The 286 12 ’s 12-MHz operation is a 
performance bonus. The default 6-MHz 
operation permits speed-sensitive pro¬ 
grams, such as games and copy-pro¬ 
tected software, to run without diffi¬ 
culty. At any time, however, the user 
can toggle to 12 MHz by using the Ctrl- 
Alt-\ key combination. PC’s Limited 
does not provide a way to set the pro¬ 
cessor speed through programming. 

One side effect of the 12-MHz op¬ 
eration can be good or bad, depending 
on the expansion cards running in the 
computer. When the CPU is switched 
into 12-MHz mode, the expansion bus 
runs at 12 MHz as well. This is ideal for 
cards that can handle the smaller bus 
cycles, but many popular expansion 
cards, such as the Intel Above Board 
and the Cheetah memory card do not 


function at that speed; in that case, the 
entire computer, including the CPU, 
must be switched back to 6-MHz mode. 

The 286 12 contains an option menu, 
including the entire set-up program, in 
ROM; it is activated by pressing Ctr 1-Alt- 
Enter. The menu options are listed as 
they appear on the screen: 

• Configure hardware 

• Disable RAM parity 

• Enable RAM parity 

• SmartVU scan off 

• SmartVU scan on 

• Park fixed disk heads 

• List SmartVU diagnostic summary 

• Resume program 

• Restart system 

This menu provides access to the set-up 
utility for specifying the number and 
type of disks, the amount of memory 
available, the type of display adapter 
used, and the presence or absence of a 
numeric coprocessor. The option menu 
also lets users disable or enable RAM 
parity or SmartVU’s array of lights, park 
the heads on the hard disk, and list the 
SmartVU error codes. 

Because the entire option program 
resides in ROM, it can be accessed and 
the options changed—even when an ap¬ 
plication program is running. However, 
accessing the option menu while run¬ 
ning other application programs is not 
recommended. If the user accesses the 
set-up portion of the program—for ex¬ 
ample, to view the current settings— 
then the only way to leave the program 
is to reboot the computer. Of course, 
rebooting means that any data not saved 
before the option menu was activated 
will be lost. 

Even if the user wishes to switch 
off the SmartVU panel or to look at a 


FEBRUARY 1987 


99 










PC’S LIMITED 


list of the error messages, the option 
menu still should not be invoked from 
within application programs. Although 
the program can be resumed, the pre¬ 
vious screen is not restored. 

INSTALLING HARDWARE 

Installing hardware in the 286 12 is for 
the most part easy. The metal cover of 
the system unit is fastened with three 
easily accessible screws on the rear 
panel. A medium-sized Phillips screw¬ 
driver can be used to remove them, as 
well as any other screws in the system 
unit. The cover, which wraps around 
like the ATs cover, slides forward and 
tilts up and off. 

One difficulty arises if any one of 
the drives installed by PC’s Limited 
needs to be removed. These drives are 
fastened to the storage bay by two 
screws, one on each side of the bay. Re¬ 
moving the screw next to the outside 
edge of the computer is easy, but the 
screw on the side next to the expansion 
cards poses a problem; it requires ei¬ 
ther a very short screwdriver or the re¬ 
moval of the disk adapter card from the 
slot adjacent to the bay. 

Adding and removing expansion 
cards is as easy in this machine as in 
the AT, with the exception of slot 8 (the 
slot next to the edge of the system 
unit). Directly above this slot is a sup¬ 
port brace that must be removed in 
order to gain access to the slot. Photo 5 
shows the inside of the system unit with 
this support brace visible. 

The 286 12 does not include plastic 
card guides to steady and align the ex¬ 
pansion cards when they are inserted. 
Because most expansion boards come 
with a card guide, however, this lack 
should not prove to be a problem. 

Other areas of the system unit are 
easily accessible. The 80286 and 80287 
sockets are placed so that neither the 
power supply nor any drive needs to be 
removed to gain access to the chips. 

The 80286 is in a leadless chip carrier 
(LCC) socket with an AMP-type socket 
cover. The socket cover can be tricky to 
remove, but it is manageable. When the 
socket cover is removed, the label on 
the underside of the chip verifies that 
the processor is rated at 12 MHz. 

The system board’s switch settings 
are labeled on the board next to the 
switch—a nice touch that enables the 
switches to be set without using the 
manual. This label includes the relevant 
switch settings for the amount of mem¬ 
ory that is installed. The switches for 
the 80287 socket are similarly labeled. 

As photo 5 also shows, the system 
board of the 286 12 contains six 16-bit 


and two 8-bit expansion slots, even 
though the 286 12 ’s board is considerably 
smaller than that of the AT. The disk ad¬ 
apter normally resides in the 16-bit slot 
next to the power supply. In the test 
unit, the EGAds! adapter was placed in 
one of the 8-bit slots. If serial and paral¬ 
lel ports are desired, another expansion 
slot is required for their use. Therefore, 
five slots are actually available for op¬ 
tional expansion cards. 

The four C&T components used on 
the system board are one reason the 
board can contain a full complement of 
expansion slots and still fit in a small¬ 
sized chassis. These custom compo¬ 
nents provide the same services that are 
normally provided by many general- 
purpose components; thus, they take up 
less area on the board. 

The 286 12 ’s half-height, 40MB Tan- 
don hard disk had a slightly better per¬ 
formance rating than that of the AT. The 
average access time for the Tandon 

Tibe system board of the 
286 12 contains the full eight 
expansion slots (six 16-bit 
and two 8-bit) even though 
the board is considerably 
smaller than that of the AT. 


drive was 34.1 milliseconds (ms). Be¬ 
cause DOS cannot manage disks larger 
than 32MB, PC’s Limited provides a de¬ 
vice driver called SPLIT_1.SYS that 
splits the disk into two logical drives, C: 
and D:, enabling the entire disk to be 
accessible. Of course, for this device 
driver to work, FDISK must be used to 
set up two DOS partitions on the drive. 
This operation is normally performed 
by PC’s Limited before shipping the 
drive. The tested drive was set up for 
32MB in drive C: and 8MB in drive D:. 

The 286 12 supports IBM drive types 
1 through 13 for users who would like 
to add their own drives. The disk drive 
housing does not look as if it would 
cause any problems with the installation 
of third-party, half-height drives, and the 
standard mounting kits supplied with 
such drives should be adequate. Full- 
height drives also will fit, but different 
mounting hardware may be necessary 
in order to install them. 

The power supply, manufactured 
by Fortron, is rated at 192 watts. Typical 


power consumption at 110 volts is 27 
watts with a 1.2MB diskette drive, a 
360KB diskette drive, and a 40MB hard 
disk installed in the system unit. 

TESTING 1, 2, 3 

Like the other computers reviewed in 
this series, the 286 12 underwent two 
kinds of tests. First, a set of commonly 
used hardware and software products 
was installed to check for compatibility. 
Then the PC Tech Journal AT Evalua¬ 
tion Suite of compatibility and perfor¬ 
mance tests was run, and the results 
were compared with an 8-MHz AT. 

The add-on hardware products in¬ 
stalled in the PC’s Limited 286 12 for 
these tests included an 80287 numeric 
coprocessor, the Intel Above Board AT 
with 4MB of memory, a Cheetah zero- 
wait-state RAM card, the PC’s Limited 
EGAds! card, Microsoft serial and bus 
mice, an IBM game adapter, and the 
Hayes Smartmodem 1200B. An IBM par¬ 
allel/serial adapter also was added for 
use with the serial mouse and to check 
whether or not the software products 
tested could access these ports. 

The software products that were 
used included Microsoft Windows and 
Word (to test graphics capabilities and 
the mice); SuperKey, SideKick, and 
Turbo Lightning, all from Borland Inter¬ 
national (to test memory-resident pro¬ 
grams); Ready! from Living Videotext 
and Intel QUIKMEM (to test expanded 
memory); Hayes Smartcom II (to test 
the communications port); IBM VDISK 
(to check extended memory); Fastback 
from Fifth Generation Systems (to 
check direct memory access); and the 
IBM SETUP and Advanced Diagnostics 
programs (to perform a general check¬ 
up on the PC’s Limited system). 

A major hardware problem oc¬ 
curred when the computer was set to 
run at 12 MHz. At that setting, neither 
the Above Board nor the Cheetah mem¬ 
ory card would function reliably. The 
Above Board’s diagnostic program 
(TESTAB) reported that two complete 
banks of memory were bad. These 
problems occurred because at the 12- 
MHz setting, both the processor and the 
expansion bus run at 12 MHz. Neither 
the Above Board nor the Cheetah card 
is rated for use at that speed. If either 
one of these cards is to be used, the 
286 12 must be set to run at 6 MHz. 

All of the software products tested 
worked properly, even at 12 MHz. Soft¬ 
ware that depended on the expanded 
memory in the Above Board was tested 
only at 6 MHz. Even the IBM AT Ad¬ 
vanced Diagnostics ran at the 12-MHz 
speed without detecting an error. 


100 


PC TECH JOURNAL 








PCS LIMITED 


TABLE 2: Results of Compatibility and Performance Tests 



8-MHz AT, 

30MB DISK" 

PC’s LIMITED 286 12 , 

40MB DISK (at 12 MHz) 

ATBIOS 



ROM BIOS date 

11/15/85 

06/14/86 

ATPERF 



Average RAM 

.403 (100)* 

.262 (153) 

instruction fetch (|xs) 



Average RAM read time (jxs) 



BYTE 

.401 (100) 

.262 (153) 

WORD 

.401 (100) 

.262 (153) 

Average RAM write time (|xs) 



BYTE 

.401 (100) 

.262 (153) 

WORD 

.401 (100) 

.262 (153) 

Average ROM read time (jxs) 



BYTE 

.401 (100) 

.262 (153) 

WORD 

.401 (100) 

.262 (153) 

Average video write time (|xs) 



(CGA only) 



BYTE 

1.208 (100) 

1.210 (100) 

WORD 

2.415 (100) 

2.410 (100) 

Average EMM read time (jxs) 



BYTE 

.402 (100) 

.262 (153) 

WORD 

.402(100) 

.262 (153) 

Average EMM write time (|xs) 



BYTE 

.402 (100) 

.262 (153) 

WORD 

.402 (100) 

.262 (153) 

CPU clock rate (MHz) 

00 

o 

o 

o 

12.0 (150) 

Math coprocessor clock rate (MHz) 

5.3 (100) 

8.0 (150) 

Refresh overhead (96) 

7.1 

4.6 

RAM read wait states 

1 

1 

RAM write wait states 

1 

1 

ROM read wait states 

1 

1 

Video write wait states (CGA) 

8 

12 

EMM read wait states 

1 

1 

EMM write wait states 

1 

1 

ATFLOAT 



Performance as percentage 

100 

150 

relative to AT 



ATDISK 



Sectors/track 

17 

17 

Heads 

5 

5 

Cylinders 

731 

975 

Total space (million bytes) 

31.81 

42.4 

Track-track seek time (ms) 

6.0 

5.4 

Average seek time (ms) 

37.1 

34.1 

Effective transfer rate (KB/sec) 

170.1 

169.9 

DOS File I/O (sec) 

7.3 

7.1 

Interleave 

3 

3 


a The figures for the IBM AT are the average results from several machines, whereas the results from 
the PCs Limited 286 12 are taken only from the review sample model. 
b Figures shown in parentheses represent the relative performance expressed as a percentage compared 
to PC Tech Journal’s baseline machine, the 8-MHz, 30MB AT. 


The expanded memory manager (EMM) measurements are shown in this table, 
even though the Intel Above Board did not work reliably at 12 MHz. The ATBIOS 
results did not provide the manufacturer of the BIOS in this case. The bus is run¬ 
ning at the 12-MHz speed of the processor itself when in the faster mode. 


After all the add-on hardware and 
software products were tested, the PC 
Tech Journal AT compatibility and per¬ 
formance tests were run. These tests 
perform the following functions: 
ATBIOS checks the BIOS and BIOS data 
area; ATKEY checks for keyboard com¬ 
patibility; ATPERF measures CPU and 
numeric coprocessor clock rates as well 
as memory access times; ATFLOAT 
measures floating-point operations with 
the numeric coprocessor installed; and 
ATDISK measures hard-disk perform¬ 
ance. (See “Out from the Shadow of 
IBM..Steven Armbrust, Ted Forger- 
on, and Paul Pierce, August 1986, p. 52, 
for a more detailed description of these 
programs.) All of these tests were run 
with the 286 12 at its 12-MHz speed set¬ 
ting. Table 2 lists the results. 

ATBIOS showed that the 286 12 uses 
the data area in the same way that the 
AT does. The area normally used for 
the copyright statement merely stated 
that the machine was IBM compatible; 
as a result, the designer of the BIOS 
could not be identified. 

ATPERF indicated that the proces¬ 
sor, numeric coprocessor, and the 
expansion bus all were running at a 
higher speed than in the 8-MHz AT. The 
80286 does indeed run at 12 MHz, and 
the 80287 runs at 8 MHz. The numbers 
for the Intel expanded memory man¬ 
ager (EMM) read and write times show 
that access to the expansion bus is also 
at 12 MHz. The EMM measurements are 
included in table 2 even though the 
Above Board does not work reliably at 
the 12-MHz speed. 

ATFLOAT also showed that floating¬ 
point operations were performed faster 
with the 286 12 . 

ATKEY verified that the keyboard 
was compatible with the AT keyboard. 

In fact, the IBM AT keyboard worked 
when plugged into the 286 12 . 

ATDISK determined that the Tan- 
don hard disk slightly exceeded the 
performance of the AT hard disk. With 
an interleave of 3, the effective transfer 
rate was almost identical to the AT. 

CONFUSING DOCUMENTATION 

The owner’s manual for the 286 12 pro¬ 
vides the minimum amount of informa¬ 
tion necessary to operate the 286 12 , but 
just barely. Although it claims not to 
speak “computerese,” the manual de¬ 
fines only a few of the terms it uses. Its 
major error is in failing to mention the 
option that divides memory into 640KB 
of conventional memory and 384KB of 
extended memory. This omission, along 
with warnings about the 640KB setting, 
might lead the user to believe that the 


FEBRUARY 1987 


101 







ISN’T IT A PITY... 



Everything Isn’t As 
Accommodating As 

TM TM 

c-tree / r-tree 


FILE HANDLER 


Performance and Portability 

For all the time you devote to developing 
your new programs, doesn't it make sense to 
insure they perform like lightning and can be 
ported with ease? 

c-tree: Multi-Key ISAM Functions 
For Single User, Network, & Multi 
Tasking Systems 

Based on the most advanced B+ Tree routines 
available today, c-tree gives you un¬ 
matched keyed file accessing performance and 
complete C Source Code. Thousands of profes¬ 
sional C programmers are already enjoying 
c-tree s royalty-free benefits, outstanding 
performance, and unparalleled portability. 

Only FairOom provides single and multi-user 
capabilities in one source code package, 
including locking routines for Unix, Xenix, and 
DOS 3.1., for one low price! In addition, 
c-tree supports fixed and variable record 
length data files; fixed and variable length key 
values with key compression; multiple indices 
in a single index file; and automatic sharing of 
file descriptors. 

r-tree: Multi-File Report Generator 
r-tree builds on the power of c-tree 
to provide sophisticated, multi-line reports. 
Information spanning multiple files may be 
used for display purposes or to direct record 
selection. You can develop new reports or 
change existing reports without programming 
or recompiling and can use any text editor to 


REPORT GENERATOR 


create or modify r-tree report scripts 
including the complete report layout. At your 
option, end users may even modify the report 
scripts you provide. 

Unlimited Virtual Fields; Automatic File 
Traversal 

r-tree report scripts can define any number 
of virtual fields based on complex computational 
expressions involving application defined data 
objects and other virtual fields. In addition, 
r-tree automatically computes values 
based on the MAX, MIN, SUM, FRQ, or AVG of 
values spread over multiple records, r-tree 
even lets you nest these computational func¬ 
tions, causing files from different logical levels 
to be automatically traversed. 

Unlike other report generators, r-tree allows 
you to distribute executable code capable of 
producing new reports or changing existing 
reports without royalty payments, provided the 
code is tied to an application. Your complete 
source code also includes the report script 
interpreter and compiler. 

How To Order 

Put FairOom leadership in programmers utilities 
to work for you. Order c-tree today for 
$395 or r-tree for $295. (When ordered 
together, r-tree is only $255). For VISA, 
MasterCard and C.O.D. orders, call 314/445- 
6833. For c-tree benchmark comparisons, 
write FairOom, 2606 Johnson Drive, Columbia, 
MO 65203. 


ft Complete C Source Code & No Royalties! 




Xenix is a registered trademark of Microsoft Corp. Unix is a registered trademark of AT&T. 


CIRCLE NO. 119 ON READER SERVICE CARD 


PCS LIMITED 

extended memory in the computer is 
not an option. 

The manual does not include an 
index—a definite disadvantage. It is 
spiral-bound, so it lies flat when in use. 
No technical reference manual is avail¬ 
able for the 286 12 , and because no soft¬ 
ware is shipped with the machine, no 
manuals describing DOS or BASIC are 
included either. 

PCs Limited offers an excellent 
warranty and service plan, and judging 
from the test machine’s performance, 
many users will need to take advantage 
of it. A 30-day, money-back guarantee 
and a one-year warranty are offered by 
PC’s Limited; it offers a toll-free support 
line, which is staffed by courteous, 
knowledgeable people. Users also can 
contact PC’s Limited via Telex, facsimile 
machine, or MCI Mail. 

RELIABLE BARGAIN? 

The PC’s Limited 286 12 , if it works, of¬ 
fers a good value for the price, but if 
the unit tested is any indication, the ma¬ 
chine has significant reliability prob¬ 
lems. Contacting PC’s Limited and send¬ 
ing the computer back was never a 
problem. The support staff was always 
eager to help. However, users who can¬ 
not afford any down time might be¬ 
come frustrated by the necessity to help 
PC’s Limited do the testing and evalua¬ 
tion that should have been performed 
earlier by the company itself. 

In addition, because the 286 12 runs 
both the processor and the expansion 
bus at 12 MHz, this fast mode might not 
work with many of the expansion cards 
currently in use. In order to use such 
hardware, the computer must be run at 
the slower 6-MHz setting, and at 6 MHz, 
the 286 12 is hardly a bargain. 

To its advantage, the 286 12 was able 
to run every software package that was 
tested, even at 12 MHz. Once PC’s 
Limited learns how to build reliability 
into this computer, the 286 12 will be an 
excellent buy, especially for users who 
do not have old expansion cards that 
they must use. I*" 1111 BSI 

286 12 

PCs Limited 

1611 Headway Circle, Building 3 
Austin, TX 78754 

800/426-5150; in Texas, 800/252-8336 

CIRCLE 347 ON READER SERVICE CARD 


Steven Armbrust is a freelance technical 
writer, and Ted Forgeron is software project 
manager for Intel Scientific Computers. To¬ 
gether, they are the authors of the Program¬ 
mer’s Reference Manual for IBM Personal 
Computers (Dow-Jones Irwin, 1986). 


102 


PC TECH JOURNAL 

















LOTUS 1-2-3 1 TO 
DOT MATRIX PRINTER 


PCs TO SERIAL DEVICES 



PCs TO MODEM 




PCs' 

1C) MAINFRA) 



PC APPLICATION TO 
MULTIPLE PERIPHERALS 


NOW—SOFTWARE AUTOMATED 
PERIPHERAL SHARING. 


Introducing Crosspoint 8 
—the first data switch that 
links any combination of 
peripherals and PCs up to 8 
by software control. PC offices 
can access RS232c serial devices 
for about $100 per port—a lot 
less than duplicating peripherals 
for each PC. 

Crosspoint 8 means 
greater productivity with 
fewer peripherals, and 
more output from each. 

Set programs to run 
automatically on your 
choice of peripheral: 

Assign Lotus 1-2-3 to a dot 
matrix printer; Auto CAD™ 
to a plotter; WordStar to a 
laser printer; communi¬ 
cations to a modem. Use 
Crosspoint 8 for multi¬ 
tasking programs like 
Microsoft Windows.™ Each 
user can store up to 16 
application configurations. 


The Crosspoint 8 package 
includes all necessary hard¬ 
ware to interface PCs and 
peripherals—like easy-to- 
connect data phone jacks 
and cable. Compatible with 
IBM and other PCs, it allows file 
transfer, LAN, and simultaneous 
user access. Add peripherals or 


change output in a flash with pop¬ 
up menus, or automate your ap¬ 
plications with batch file execution. 

Link to a leader for 
support you can count on. 

We’re committed to reliability 
with a 100% 1-year parts-labor 
warranty. A step-by-step manual 
starts you off—fast. 



A SOLUTION IN A BOX: 
HARDWARE AND SOFTWARE 
TO LINK PCS AND PERIPHERALS 
BY SIMPLE MENU COMMANDS. 


Solo PC power users: Get 
7-peripheral software 
control with Crosspoint 
AB + —for under $500. 
TO FIND YOUR NEAREST 
CROSSPOINT DEALER, 
CALL 1-800-232-7729 OR 
503-485-4254. 

■■Crosspoint 
■# Systems 

Copyright ® 1986 by Crosspoint Systems, 

Inc., 1710 Willow Creek Circle, Eugene, OR 
97402. Prices and specifications subject to 
change without notice. Lotus 1-2-3, Auto¬ 
CAD, WordStar and Microsoft Windows are 
trademarks erf Lotus Development Corp., 

Auto Desk, Inc., MicroPro Int’l., and Micro¬ 
soft Corp., respectively. 


CIRCLE NO. 161 ON READER SERVICE CARD 















IBM’s 


2,400b E ?C^ 


give you 


an easy 


choice; 


comp uter 5 “-‘ ve 2,400 blts , ? e !^fi\e transfer 
very impres 1 s a binary minute— 

That tran t V3 K characters per m 

^ ed ^TS- rth K^ cetel ' 

or over six pas on out ions 

pactthatfTihav fast . 

<** r tS «« b ° th r d nt 

, L, versatile. They c ds ranf 

they re also nc hronously at V 

receive4at j, . do wnto J the 

^S^^T&Sastlre® 

l “AcT” command 8 v have been teste 








or 


The Automatic Modems 

These modems feature 
Automatic Adaptive Equaliza¬ 
tion at 2,400 and 1,200 bps— 
which means they will continu¬ 
ously fine-tune themselves to com¬ 
pensate for changes and noises on the 
telephone line. The result is, you can re¬ 
ceive data over a wider range of telephone 
line conditions. 

Both modems also feature automatic or 
manual answering and dialing. They’ll auto¬ 
matically switch to pulse dialing if tone dial¬ 
ing doesn’t work. They have automatic 
redialing. And once a'connection is made, 
automatic speed detection. They also have 
automatic detection of a voice or a failed call. 

A Modem with a Memory of Its Own 
The stand-alone IBM 5842 2,400 bps 
Modem offers some additional features. It 
can also send and receive data synchronously 
at speeds of 2,400 bps or 1,200 bps. You’ll 
find extensive “Help” menus. A dial direc¬ 
tory for 20 phone numbers. A log-on direc¬ 
tory for five log-on sequences. A built-in 
pattern generator for self testing. Diagnostics 
implemented from the front panel as well as 
from the computer keyboard. And a com¬ 
plete array of LED Status Indicators to give 
you a quick visual check on what’s happening. 



Internal 
The IBM 
Personal Com^«. 

2,400 bps Modem. 

Which 

The internal IBM Personal 
Computer 2,400 bps Modem is de¬ 
signed to occupy a half slot in the 
IBM PC, XT, AT and 3270 PC. 

The stand-alone IBM 5842 2,400 
bps Modem is compatible with all models 
of IBM Personal Computers. And, in addition 
to the features mentioned above and its 
internal power supply, the significant 
difference is that a stand-alone modem can 
be moved from PC to PC more easily than 
an internal modem. 

If you feel that 2,400 bps is more modem 
than you need, we also offer the stand-alone 
IBM 58411,200 bps Modem, and the internal 
IBM Personal Computer 1,200 bps Modem. 

For the Authorized IBM PC Dealer nearest 
you—or for free literature on the IBM family of 
PC Modems—call 1800 IBM-2468, Ext. 936/EM. 
Or you can contact your 55™.=! -5E® 

IBM marketing representative. JE^ sFE 


Crosstalk is a trademark of Microstuff, Inc. Microsoft is a registered trademark of Microsoft Corp. 
Smartcom and Smartcom II are registered trademarks of Hayes Microcomputer Products, Inc. 


CIRCLE NO. 172 ON READER SERVICE CARD 









Desktop 

Data Acquisition 


n the scientific laboratory, data ac¬ 
quisition and analysis programs are 
playing an increasingly important 
part in the manipulation of experimen¬ 
tal data. Similarly, such programs can 
be used in a variety of industrial appli¬ 
cations to control simple processes. 

Macmillan Software’s as want+ 
converts the IBM PC and compatibles 
into a desktop data acquisition and anal¬ 
ysis system comprising several virtual 
instruments. For many applications that 
can tolerate moderate sampling rates, 
asystant + can take the place of more 
expensive, dedicated instruments—al¬ 
beit at a loss in ultimate performance. 


The basic version of the program, 
asystant, converts the PC into a sophis¬ 
ticated calculator. To that basic capabili¬ 
ty, the more advanced version, asys¬ 
tant+•, adds the ability to control a data 
acquisition accessory, asystant +’s capa¬ 
bilities are similar to those of a sister 
product, asyst, which provides a FORTH 
interpreter-1 ike user interface. 

A SOPHISTICATED CALCULATOR 

asystant + ’s basic user interface is simi¬ 
lar to that of a stack-oriented, hand¬ 
held, electronic programmable calcula¬ 
tor, such as the various Hewlett-Packard 
(HP) models. In fact, the main screen 


display is referred to as the desktop cal¬ 
culator and resembles a calculator in 
functionality. It is divided into five 
windows, four of which correspond to 
the facilities of an advanced program¬ 
mable calculator (see photo 1). The 
fifth window contains the main options 
that access other parts of the program, 
such as waveform processing and gen¬ 
erating, graphics, and curve fitting. 

The calculator windows are stack 
contents, calculator functions, parame¬ 
ters, and variables. Three other calcula¬ 
tor menus—array operations, conver¬ 
sions and special functions, and wave 
and matrix operations—can he inter- 




















ASYSTANT+ from Macmillan Software 
provides sophisticated data acquisition for scientists 
and engineers from a desktop computer. 


VICTOR E. WRIGHT 


changed with the calculator functions 
(see figure 1). Each calculator menu in¬ 
cludes the selection, next, to display the 
next calculator menu. 

A key concept in learning to use 
asystant+ is that of the stack—an area 
of memory used for temporary data 
storage. Data can be placed on the stack 
from the keyboard or from other stor¬ 
age areas, and can be removed from 
the stack to be placed in other storage 
areas. Most operations and functions 
take their arguments from the stack and 
leave their results on the stack. HP cal¬ 
culator users and FORTH programmers 
should be comfortable with the system. 


The program begins with a cursor 
positioned on the first selection of the 
main menu, acquire. Pressing PgUp 
moves the cursor to the calculator func¬ 
tions menu. This gives the expected as¬ 
sortment of mathematical functions and 
stack operators— store, stores the entry 
at the top of the stack in a parameter or 
variable; dup, duplicates the top entry 
in the stack; drop, drops the entry at 
the top of the stack; swap, switches the 
top two entries on the stack; and roll, 
places the bottom entry on the stack on 
the top and pushes the other entries 
down one. A status selection allows the 
user to select the format of numeric 


output: angular units for use with trig¬ 
onometric functions, and data type—in¬ 
teger, double-precision integer, real, 
double-precision real, complex, or dou¬ 
ble-precision complex. 

Calculator commands can be en¬ 
tered by moving the cursor to the de¬ 
sired selection with the arrow keys and 
pressing Enter or by typing them at the 
keyboard. When a number, letter, or 
operator is typed, the main menu win¬ 
dow clears and a command line area 
appears in its place, regardless of the 
location of the cursor. 

Commands can be entered in Re¬ 
verse Polish Notation (RPN) used by HP 



















ASYSTANT+ 



The calculator functions menu is replaced with the array 
menu, the conversion and special functions menu, or the 
wave and matrix menu by selecting the “next” option. 


PHOTO 2: Window Options 




■ Graphics I 


xy Auto 
xy Plot Contour 

xy Axis Setup 


Window: RIGHT HALF - 
Label Save 

Clear Recall 

Colors Return 


The screen can be split into a variety of windows by select¬ 
ing the windows option, and each window can then be used 
to display data independently. 


and FORTH or in algebraic notation. 

The program expects RPN; an algebraic 
notation always must be preceded with 
the \ character. Commands can be en¬ 
tered in strings and then are terminated 
with the Enter key. Entering a valid 
number places a result on the stack. 
asystant +’s stack is limited to five en¬ 
tries, which are displayed in the stack 
contents window. Stack entries can be 
integers, real numbers, complex num¬ 
bers, or arrays of integers, real num¬ 
bers, or complex numbers. 

In the calculator menu, macros 
(“user functions”) can be assigned to 
the ten function keys. Each key can be 
assigned up to five lines of RPN or alge¬ 
braic notation. Pressing a function key 
while in the Calculator executes the 
macro. The macro assigned to one key 
can include the name of another key, so 
that additional functions may be per¬ 
formed by a single macro. 

The parameters and variables win¬ 
dows on the main screen display pro¬ 
vide two types of storage registers, nine 
of each. Parameters, A through /, store 
numbers; and variables, R through Z, 
store either numbers or arrays. Parame¬ 
ter and variable values can be copied to 
the stack, and stack entries can be cop¬ 
ied or moved to the parameter and 
variable registers. Parameters and vari¬ 
ables are available in all parts of the 
program, and they can be assigned 
descriptive names. 

VECTORS AND MATRICES 

The array operations menu is displayed 
by selecting the next option from the 
calculator functions menu. It offers a set 
of commands to create and manipulate 
arrays, asystant + provides for two types 


of arrays; one-dimensional arrays, or 
vectors, and two-dimensional arrays, or 
matrices. An array occupies one slot on 
the stack or one variable. Arrays cannot 
be stored in parameters. 

The program uses two 64KB seg¬ 
ments of RAM for storage of arrays. One 
segment contains the arrays assigned to 
the variables R through Z, and the other 
segment contains any unnamed arrays 
on the stack. A single array can occupy 
an entire 64KB segment. 

The array operations menu offers 
selections for the basic vector and ma¬ 
trix operations. Three commands, 
n:ramp, nm:ramp, and aedit, generate 
unnamed arrays and place them on the 
stack. N:ramp takes the top entry on the 
stack as the size of a one-dimensional 
array (vector) and replaces it with a 
vector in which the I th element contains 
the value i —the value of each element 
is equal to the index. Nm-.ramp takes 
the top two entries as the number of 
rows and columns of a two-dimensional 
array and replaces them with an array 
in which the z/ th element contains the 
value (/— l)m+j—i is the row index 
and j is the column index. 

The commands xsect, sub, trans, 
diag, and reverse access certain array 
elements. Xsect takes the top element 
of the stack and replaces it with an ele¬ 
ment, sub with a subarray, trans with 
the transpose of the array, diag with the 
main diagonal, and reverse replaces the 
top element of the stack with an array 
with reversed column indices. 

Arrays can be reordered with the 
commands n:rot, reshape, sort, and 
lookup, and they can be indexed with 
index and msearch. Two commands 
combine two arrays to form a third; cat 


stacks the two arrays one over the oth¬ 
er, and lam places them side by side. 
Cumulative operations can be per¬ 
formed on the rows of an array to cal¬ 
culate sums and products and find cu¬ 
mulative maxima and minima. 

Arrays can be examined in spread¬ 
sheet format with the array editor func¬ 
tion, aedit. Arrays can be created direct¬ 
ly with aedit or with another command, 
mramp, nm:ramp, lam, or cat, for exam¬ 
ple, and then edited. They also can be 
built and edited by using other menu 
options and functions, but using the ar¬ 
ray editor is the easiest way to make 
minor changes. 

Switching to the third calculator 
menu, conversions and special func¬ 
tions, provides an assortment of options 
for converting data from one coordinate 
system to another, or from one data 
type to another, as well as special ad¬ 
vanced functions. Numbers can be con¬ 
verted from a pair of values on the 
stack, one real and one imaginary, into 
a single complex entry on the stack. A 
single complex entry can then be split 
into a pair of values. 

Data sets representing coordinates 
can be converted between Cartesian 
coordinates and polar coordinates or 
spherical coordinates. Also, complex 
numbers in the form jc + jy can be 
converted to the polar form. (Note that 
PC Tech Journal is using the electrical 
engineering notation j for the imaginary 
part of the complex number rather than 
the mathematical form /.) 

The more advanced functions in¬ 
clude the error function, factorials, the 
number of combinations of things taken 
r at a time from a set of n things, the 
number of permutations of things taken 


108 


PC TECH JOURNAL 















































asystant+’s available calculator menus provide a versatile selection of mathemat¬ 
ical functions for manipulating the obtained waveforms and matrices. 


r at a time from a set of n things, the 
Bessel functions, elliptic integrals, the 
gamma function, and the incomplete 
beta function. 

The wave and matrix menu, the 
fourth calculator menu, offers several 
numerical techniques for the analysis of 
waveforms and matrices. Storing wave¬ 
forms as arrays allows the use of many 
operations for the analysis of waveforms 
or matrices. A series of waveforms can 
be stored in a two-dimensional array, 
one waveform per row. 

Once the waveforms have been 
stored, two functions, smooth and 
window, are available to filter them. 

The smooth function, a low-pass filter, 
removes high-frequency components of 
a waveform in the time domain, to 
eliminate noise in a signal, for example. 
The window function simulates a Black¬ 
man window, filtering out selected high 
and low frequencies. This function is 
better suited to waveforms stored in the 
frequency domain. 

A waveform can be integrated by 
using Simpson’s 1/3 rule or differenti¬ 
ated by using interpolating polynomials 
of a user-specified degree, as many as 
seven. Four functions are provided for 
Fourier transformations: fast Fourier 
transforms and inverse fast Fourier 
transforms for both one- and two-di¬ 
mensional arrays. An additional function 
calculates the power spectrum (the 
square of the magnitude of the Fourier 
transform) of an array. 

Other matrix operations included 
in the fourth calculator menu are the 
autocorrelation function, which is ap¬ 
plied to the top entry on the stack; the 
aperiodic convolution of the top two 
entries; the application of a Blackman 
window to a subset of the top entry; the 
Hilbert transform of the top entry; and 
the cross correlation of the top two en¬ 
tries. By combining these advanced 
functions, the user can filter signals 
with low-pass or band-pass filters to re¬ 
move noise or isolate signal compo¬ 
nents, process images, generate spectral 
analysis displays, generate diffraction 
patterns, and analyze signals in both the 
time and frequency domains. 

The program performs the basic 
statistical operations, average, standard 
deviation, maximum, and minimum. A 
single operator is provided to solve the 
matrix equation, y = Ax. The operator 
expects the y vector as the top stack en¬ 
try, and the A matrix (n by ri) as the 
second entry. It replaces these two en¬ 
tries with the x, or solution, vector. Ad¬ 
ditional matrix functions are available, 
they include commands to return the 
trace of a matrix (the sum of the diag¬ 


onal elements), the matrix product of 
two arrays, the Kronecker product of 
two arrays, the determinant of a matrix, 
and the inverse of a matrix. 

CHOOSING FROM THE MENU 

The main menu of asystant+ provides 
11 options that enhance the versatility 
of the program. These options include, 
graphics, a waveform generator and 
processor, two file operations, users 
functions, curve fitting, polynomials, sta¬ 
tistics, differential equations, and a data 
acquisition menu. 

Graphics, asystant+’s graphics com¬ 
mands allow data to be displayed on 
the screen, on a graphics printer, or on 
a pen plotter. Graphics boards, printers, 
and plotters are selected from menus at 
the beginning of the initial session, and 
the selection can be changed at the be¬ 
ginning of any session thereafter. 

Arrays are used to store graphics 
data. Two types of graphic displays can 
be generated, Cartesian plots and three- 
dimensional plots. Cartesian plots in¬ 
clude line graphs of a single vector vari¬ 
able or a row of a rectangular array, 
plotted as a function of the indices; and 
line graphs of two vector variables or 
rows of rectangular arrays, with one 
variable or row taken as the indepen¬ 
dent variable and the other as the 
dependent variable. 

Three-dimensional representations 
include axonometric plots and contour 
plots of two-dimensional arrays (shown 
in photo 2). An axonometric plot dis¬ 
plays a surface representing the values 
of the plotted array superimposed over 
a rectangular grid; the height of the sur¬ 
face above the grid is proportional to 
the value of the array element. A con¬ 
tour plot displays a series of contour 
lines superimposed over a grid with the 
contour lines connecting elements of 
equal magnitude. 


The graphics display is available to 
preview graphics before plotting. The 
default screen display includes a graph¬ 
ics menu and a graphics window. The 
graphics window can be split into left 
and right halves, upper and lower 
halves, and four quarters. 

asystant+ is able to produce a plot 
with a minimum of information, by us¬ 
ing default values and scaling the axes 
to display all of the data in a single plot. 
The Setup command gives the user the 
ability to customize the plot by speci¬ 
fying minimum and maximum values, 
linear or logarithmic scales, labels, 
grids, and the location of the origin. 
Whenever an IBM Enhanced Graphics 
Adapter (EGA) is used, the axes, labels, 
background, and plot can be displayed 
in different colors. 

Users also can customize graphics 
windows with the addition of text 
labels. Labels can be positioned and 
aligned as desired. The contents of a 
graphics window can be saved to disk, 
and recalled at a later time for display. 

A graphics display is generated by 
selecting the type of plot —y Auto, 
y Plot, xy Auto, xy Plot, xy Axis, 

Axon, or Contour. The program 
prompts for the variable to be plotted 
and then displays a menu that includes 
the selections display graph and to 
plotter; these selections produce screen 
displays and plots. 

Waveforms. asystant+ includes both a 
waveform generator and processor. The 
generator creates arrays of values that 
represent a variety of continuous wave¬ 
forms typically available from analog 
function generators. These include sine 
waves, cosine waves, square waves, 
triangular waves, sawtooth waves, 
pulses, uniform noise, white noise, and 
Poisson pulse trains. In addition to se¬ 
lecting the type of waveform, the user 
can control the gain, bias, and frequen- 


FEBRUARY 1987 


109 











































ASYSTANT+ 


cy of the waveform. These created ar¬ 
rays can be displayed on the screen, 
stored on disk, plotted on the pen plot¬ 
ter, and used as the digital input to an 
digital-to-analog convertor in asystant-k 

The waveform generator produces 
a single output—one of the waveforms 
listed above. However, the output can 
be stored in memory and then pushed 
onto the stack. Successive output wave¬ 
forms can be pushed onto the stack, 
and then the calculator can be used to 
manipulate or combine them, creating 
waveforms of arbitrary complexity. 

While in the waveform generator, 
two waveforms are immediately avail¬ 
able: the output of the generator and a 
waveform stored in memory. The out¬ 
put waveform can be added to the 
memory waveform to create complex 
waveforms without leaving the genera¬ 
tor. Waveforms can be plotted on either 
the screen or the plotter. 

The waveform processor provides 
a graphic alternative to the calculator 
for processing one-dimensional arrays 
(waveforms) or specified rows of two- 
dimensional arrays. The waveform pro¬ 
cessor display includes a large window 
in which a waveform is displayed, a se¬ 
ries of small windows that summarize 
the history of the wave processing ses¬ 
sion, and a menu of commands. 


The commands available in the 
waveform processor are a subset of 
those available in the calculator and file 
processor. However, intermediate re¬ 
sults are displayed on the screen inter¬ 
actively, and several graphic aspects of 
display can be specified by the user. 

Waveforms can be processed in 
segments, allowing uninteresting por¬ 
tions of the waveform to be ignored, or 
separate segments to be processed in 
different ways. A current segment can 
be selected graphically, by positioning 
two cursors in the main graphic win¬ 
dow. Segments of the waveform are 
stored in several repositories —WFM 
(waveform), ORG (original segment), • 
MEM (memory segment), PRV (previous 
segment), and SEG (current segment). 
Images of the repositories are shown at 
the top of the screen for reference; con¬ 
tents of MEM and SEG can be com¬ 
bined with selections from the wave¬ 
form processor’s memory ops menu. 

Processing options include scaling 
the waveform with a fifth-degree poly¬ 
nomial, clipping SEG to a specified 
minimum and maximum, computing 
the derivative of the waveform (to a 
user-specified order), computing the in¬ 
tegral, smoothing the current segment, 
computing the power spectrum, and 
finding the envelope of the waveform. 


An analysis menu provides selections to 
find the basic statistics, rise time, fall 
time, area under the curve, and width 
of a specified peak. 

Data file operations. Two submenus from 
the main menu are devoted to file op¬ 
erations: file I/O, and file processor. 

File I/O provides the basic facilities for 
storing and retrieving data associated 
with variables and for converting data 
files into files that can be used by other 
programs. The program supports two 
external formats: DIF and ASCII. 

asystant + data files are physically 
composed of a block of comments fol¬ 
lowed by a series of data subfiles. Logi¬ 
cally, the file can consist of comments 
and data sets. Both subfiles and data 
sets contain multiple data points, and 
both are limited to 64KB, which corre¬ 
sponds to the area in RAM that asys- 
tant+ sets aside for the storage of vari¬ 
ables. A data file can contain several 
blocks that may represent various 
aspects of a model or experiment. 

asystant+’s file I/O menu allows 
subfiles and data sets to be selected as 
rectangular sections of a group of ar¬ 
rays. Even though the data file is actu¬ 
ally a linear sequence of values, data 
can be addressed by row and column 
number, just as if the data were ar¬ 
ranged in two dimensions. Data sets can 
be selected by specifying values or by 
scrolling through the file graphically. 

The file processor menu integrates 
calculator functions and disk I/O func¬ 
tions. The processing capabilities of the 
desktop calculator and the file proces¬ 
sor are identical. However, the file pro¬ 
cessor allows the user to specify the 
data source, the operations to be per¬ 
formed, and the destination for the re¬ 
sults. The actual processing can be al¬ 
lowed to proceed unattended, whereas 
processing with the desktop calculator 
usually must be performed step by step. 
Curve fitting. The curve fitting of asys- 
tant+ gives an interactive environment 
for fitting smooth curves through x-y 
data sets. Results are displayed as math¬ 
ematical values and in graphic form. 

The fitted curve can be specified as 
linear, polynomial, logarithmic, expo¬ 
nential, multilinear, or user-defined. 
Multilinear fits operate on one rectan¬ 
gular array and one vector, and the re¬ 
maining fits operate on two vectors. 

The goodness of fit is determined by 
the least-squares fitting method. 

Both the original data and the fit¬ 
ted curve are displayed, superimposed 
in a graphic window. The residual error 
curve is plotted in a separate window. 
Polynomials. An extensive set of poly¬ 
nomial operations can be performed 

PC TECH JOURNAL 



HIGH POWER 
WITHOUT THE 
HIGH PRICE 


Microstat® has been the most popular statistics package for microcomputers since we in¬ 
troduced it in 1978. In the past two years, Microstat has been requested by name on more 
military contracts than any other statistics package. When it comes to coverage, ease of 
use, accuracy, and value, Microstat is unbeatable. Just some of it features include: 


Data Management Subsystem for file creation and 
management. 

Data Transformations 
Hypothesis Testing 
Three types of ANOVA 

Simple, Multiple, Stepwise Multiple Regression 
11 Nonparametric Tests 
Factorials, Permutations, Combinations 
Batch or Interactive Operation 


Read external files (e.g., Lotus, 
dBasell, ASCII) 

Descriptive Statistics 
Scatterplots 
Correlation Analysis 
Time Series 

8 Probability Distributions 
Crosstabs and Chi-Square 
User’s Manual 


Microstat® is 
available for MSDOS, 
PCDOS, CP/M80, 
CP/M86. The price is 
$375.00. Multiple copy 
discounts and cost- 
effective site licenses 
are available. 

To order, call: 

800-952-0472 

(for orders) 
or 

317-255-6476 

(tech, info.) 


IrtfoWorld 


Software Report Card 

MICROSTAT 

ECOSOFT 

Infoworld, March 16,1981. 


2 o .t o o 

5 8 . £ § £ 


Functionally 
Documentation 
Ease of Use 
Error Handling 
Support 



Ecosoft Inc. 

6413 N. College Ave. 
Indianapolis, IN 46220 




CIRCLE NO. 131 ON READER SERVICE CARD 




































































































EARNING: This product may promote large 
icomes, high productivity, and excessive free time. 

dagus, Inc. is proud to present 
)ata&Windows: a window-oriented data- 
ntry system based on a new, revolutionary 
iesign philosophy. The only problem is ... 
/hat should we call it? 

t is easy to learn and use, like a panel 
;enerator, because it allows you to draw your 
ext, fields, and colors on the video display. 
lut we can’t call it a panel generator, 

>ecause it supports full windowing and 
crolling, and because screen and field 
nformation may be stored in your program 
iles (.EXE) rather than separate data files. 

t is flexible and powerful, like a library- 
»riented programmer’s toolkit, but you are not 
estricted to "visualizing" your data-entry 
vindows as you type page after page of code 
o set up borders, fields, text and 
lighlighting. Our innovative approach 
called static windowing) eliminates the need 
or replication of static data in dynamic 
nemory. 

t produces tight code, like a YACC (Yet 
mother Compiler Compiler), but you don’t 
tave to tolerate a myriad of small program 
nodules that need to be compiled and 
naintained. Instead, our "screen designer" 
reates Microsoft object files which you 
imply link with your applications. 

Vdd to this new, superior design philosophy 
he fact that it has more features, produces 
ighter code, and yields higher performance 
han any of the above. Throw in a clear, 
oncise user manual, a thorough on-disk 
utorial, and some example programs. Top it 
>ff with a utility program that documents 
ach screen and another that allows you to 
>rototype (or simulate) your application 
■efore you write a single line of code. Now, 
/hat would you call it? 

.et’s settle on a single word. 

.et’s call it the "best." 

5ut don’t take our word for it. Order your 
emo disk today. You will receive a copy of 
he screen generator, the tutorial, and some 
ocumentation on the utility programs and 
brary routines. Then make the decision 
ourself. 

)r take advantage of our one-time 
itroductory offer and get $100 discount if 
ou order before March 31,1987. 

’all (713) 665-4109 for more information, 
lajor credit cards accepted. 


SCREEN DESIGNER: 
Move/delete/center/fill/highlight block, 
global field redefinition, move/resize window 
and buffer, add/modify/move/delete field, 
insert/delete/undelete line, test/save/abort 
window, graphics characters, paint, jump-to- 
field, many cursor movement options, 
monitor switching, operating system calls, 
help. Set validation mode, highlight current 
field, scrolling by line or page, input mask, 
tabs, initial values. More. Up to 400 lines per 
screen. 

FIELD DEFINITION: 
Left-justify/right-justify/center, uppercase 
translation, built-in character validation, 
byte/integer/word/long/float/ 
double/string/date field validation, retain 
data, auto-erase, protected fields, input 
required, use commas, use zeros/spaces, 
margin bell. User-defined character 
validations, pattern-matching validations, 
picture validations, and field types. More. Up 
to 9999 fields per screen. 

LIBRARY ROUTINES: 

Open, close, move, display, and refresh 
windows. Allow user to edit data fields in 
window, or to view and manipulate a window 
but not change data stored in it. Pull-down 
and pop-up menus. Read screen object file 
from disk. Intercept keyboard filter. 
Override default key actions. Automatic and 
manual refresh. Switch display device, erase 
all data fields on window, plot data onto 
fields or entire screens, retrieve data from 
fields or entire screens, screen image dump, 
retrieve and modify screen and field 
attributes, locate field, force use of bios. 
Direct interfacing with some bios interrupts, 
including cursor and mouse control. More. 
Mnemonic and simple to use. 

REQUIREMENTS: 

IBM PC/XT/AT/JR or true compatible, DOS 
2.0 or later, at least 128K free RAM, and the 
Microsoft C, Pascal, or Fortran compiler or 
the IBM C compiler. Support is available for 
other C Compilers and the XENIX operating 
system. Call for specifics. 

IBM, IBM PC, IBM XT, and IBM AT are 
trademarks of International Business Machines. 
Microsoft and XENIX are trademarks of 
Microsoft Corporation. 


For More Information 
(713) 6654109 

CIRCLE 180 ON READER SERVICE CARD 




ndows 


Magus Inc. 

Screen Designer 


Let’s Do Windows! 

□ C □ Pascal □ FORTRAN 

□ Please send_copies @ $345.00 

Introductory discount -100.00 

Your price 245.00 

□ DataWindows with Library 

Source Code $695.00 

Introductory discount -100.00 

Your price 595.00 

Hurry! Introductory offer expires March 31,1987. 
Show Me More! 

□ Send me a Demo $10.00 

In Texas add 6.125% sales tax_ 

Outside U.S. add 15.00_ 

Total enclosed $_ 

Enclosed is 

□ Check □ Money Order 

□ Visa □ MasterCard 

Number ____ 

Expiration Date_ 

Name ___ 

Company_._ 

Address _ _ 

City ____— 

State _Zip Code _ 

Send to: 

MAGUS, INC. 

4545 Bissonet Suite #114 
Bellaire, TX 77401 

I_-_ 























ASYSTANT+ 


from the polys menu. Polynomials can 
be added, subtracted, multiplied, di¬ 
vided, and shifted by a factor. Polyno¬ 
mial coefficients can be edited and cop¬ 
ied to a variable. Roots can be extracted 
and saved in a variable, and polynom¬ 
ials can be integrated and differentiated. 
Finally, selections are provided to gen¬ 
erate Legendre, Laguerre, Tchebyshev, 
and Hermite polynomials. 

asystant+ can handle 10 polyno¬ 
mials. Each polynomial can contain real 
or complex coefficients and can be up 
to the ninth degree. A polynomial is 
first defined, and then it can be applied 
to the top stack entry. 

Statistics. The stats selection of the main 
menu presents a submenu of statistical 
operations and messages. An edit func¬ 
tion is available to allow the user to 
create or edit a data table without leav¬ 
ing the menu. The stats editor is identi¬ 
cal to the array editor that is provided 
in the desk calculator. 

The basic stats option computes 
and displays the basic statistics for a 
variable or subset of a variable. The sta¬ 
tistics displayed include the maximum 
value, the minimum value, the sum of 
the values, the mean, the median, the 
variance, the standard deviation, skew¬ 
ness, kurtosis, the sum of the squares, 
and the root mean square. These values 


are displayed in a window on the 
screen and can be sent to the printer. 
Other basic statistical functions such as 
sorting, percentile calculations, and hy¬ 
pothesis testing also can be performed 
from the menu. The hypothesis tests 
that are provided include the Kolmo- 
gorov-Smirnov normality test, the 1 
sample t test, the 2 sample t test, the 1 
sample chi-square test, the 2 sample F 
test, the Wilcoxon signed-rank test, and 
the Mann-Whitney rank-sum test. 

Histograms can be generated and 
plotted. The user specifies the number 
of breakpoints between “bins”. The 
program sets up the specified number 
of bins, equally spaced between the 
minimum and maximum data values. 
Once generated, the histogram can be 
plotted, saved to a disk file, or left in 
the calculator variables. 

A menu selection is available to 
generate commonly used frequency dis¬ 
tributions. These include both percent¬ 
ages and percentiles of the normal dis¬ 
tribution, the chi-squared distribution, 
the student t distribution, and the 
F (n,m) distribution. 

Two advanced analysis techniques 
are provided by asystant+. Stepwise re¬ 
gression is included with three varia¬ 
tions of the analysis of variance (anova) 
technique, one-way, two-way, and table. 


The anova techniques indicate which of 
several independent variables are most 
significant in explaining the variations 
in the dependent variable. asystant+ 
displays the results of anova in a table 
listing the sum of the squares, the de¬ 
grees of freedom, the mean sum of the 
squares, the F-value, and the signifi¬ 
cance level of the F-value for each com¬ 
ponent and the residuals. 

The regression option allows the 
construction of a model representing a 
dependent variable as a linear function 
of several independent variables. A vec¬ 
tor holds the dependent variable, and 
an array holds the independent vari¬ 
ables. The technique is interactive. 
Terms can be entered into and re¬ 
moved from the model with a few key¬ 
strokes; this allows several combina¬ 
tions of terms to be examined easily. 
Differential equations. asystant+ provides 
a numerical method for solving first- 
order differential equations, ranging 
from a single equation to a system of 
five equations, using the fourth order 
Runge-Kutta method. Up to six variables 
are used, the X variable for the inde¬ 
pendent variable, and Y, Z, U, V, and W 
for dependent variables. 

The model to be examined is spec¬ 
ified by entering the system of differen¬ 
tial equations, the initial conditions, and 
extrapolation parameters, consisting of 
step size used to generate the solution 
curves and the final X-value. Solution 
curves are stored in variables that can 
be displayed on the screen under the 
graphics menu, saved to disk, or sent 
directly to the plotter. 

Notepad. asystant+ includes a simple 
screen editor, the notepad, which is 
available from both text and graphics 
screens by pressing Ctrl-N. The manual 
cautions that the notepad is not in¬ 
tended to take the place of a word pro¬ 
cessor; however, the editor is equal to 
the task of taking notes during experi¬ 
ments and creating simple reports. 

The notepad is limited to straight 
ASCII text files with no control charac¬ 
ters (such as the ones inserted by most 
word processors), 16KB total file size, 
and 80-character lines. Arrow keys and 
function keys are implemented, to pro¬ 
vide cursor movement by character, 
word, line, word, and file. A limited set 
of block operations is available, as well 
as search and replace capability. 

Text can be inserted into the cur¬ 
rent notepad file when the editor itself 
is inactive. asystant+ stores the current 
file name, and a cursor location. The 
calculator functions menu includes a 
print command that sends the top stack 
entry to the screen, printer, or current 


The Advanced Programmer's Editor 
That Doesn't Waste Your Time 



• Fast, EMACS-style commands—completely reconfigurable 

• Run other programs without stopping Epsilon—concurrently! 

• C Language support—fix errors while your compiler runs 

• Powerful extension language • Great on-line help system 

• Multiple windows, files • Regular Expression search 

• Unlimited file size, line length • Supports large displays 

• 30 day money-back guarantee • Not copy protected 

Only $195 

Luaaru 

Software Ltd. 


5740 Darlington Road 
Pittsburgh, PA 15217 



for IBM PC/XT/AT's or compatibles 


112 


CIRCLE NO. 125 ON READER SERVICE CARD 


PC TECH JOURNAL 
















... one package stands out as 
the best support available for Turbo 
Pascal programmers: Blaise Com¬ 
puting’s Turbo Power Tools. This 
definitive set of prewritten Pascal 
functions and procedures will 
make the life of any programmer— 
from the beginner to the hard-core 
professional—easier and more 
productive. 


ANOTHER 
PLUSFROM 
BLAISE 
COMPUTING 


The best just got bet¬ 
ter! Turbo POWER 
TOOLS, acclaimed as 
the best programmer 
support package for 
Turbo Pascal, now has 

even more functions, more detailed docu¬ 
mentation and more sample programs. 


NO SECRETS 


Power Tools Plus™ 

Window Routines. 
Memory Resident Routines. 

Routinely. 


Turbo POWER TOOLS PLUS is crafted so 
that the source is efficient, readable and 
easy to modify. We don’t keep secrets! We 
tell you exactly how windows are managed, 
how interrupt service routines can be writ¬ 
ten in Turbo Pascal, and how to write mem¬ 
ory resident programs that can even access 
the disk. Maybe you’ve heard of some un¬ 
documented DOS features that resident 
programs use to weave their magic. Turbo 
POWER TOOLS PLUS documents these 
features and lets you make your own magic! 

Here’s just pa rt of the PL US 
in Turbo POWER TOOLS PLUS: 

♦ WINDOWS that are stackable, re¬ 
movable, with optional borders and a 
cursor memory. 

♦ FAST DIRECT VIDEO ACCESS for 
efficiency. 

♦ SCREEN HANDLING including 
multiple monitor and EGA 43-line 
support. 

♦ POP-UP MENUS which are flexible, 
efficient and easy to use, giving your 
applications that polished look. 

♦ INTERRUPT SERVICE ROUTINES 
that can be written in Turbo Pascal 
without the need for assembly lan¬ 
guage or inline code. 

CIRCLE NO. 104 ON READER SERVICE CARD 

Reprinted from PC Magazine, June 10,1986 Copyright © 1986 Ziff-Davis Publishing Company 


♦ INTERVENTION CODE lets you de 
velop memory resident applications 
that can take full advantage of DOS 
capabilities. With simple procedure 
calls, you can “schedule” a Turbo 
Pascal procedure to execute either 
when a “hot key” is pressed, or at a 
specified time. 

♦ PROGRAM CONTROL ROUTINES 

allow you to run other programs from 
Turbo Pascal, and even execute DOS 
commands. 

♦ MEMORY MANAGEMENT allows 
you to monitor, allocate and free DOS- 
controlled memory. 

♦ DIRECTORY AND FILE HAN¬ 
DLING support to let you take advan¬ 
tage of the newer features of DOS 
including networking. 

♦ STRING procedures al¬ 
lowing powerful trans¬ 
lation and conversion 
capabilities. 

♦ FULL SOURCE CODE 

for all included routines, 
sample programs and 
utilities. 

♦ DOCUMENTATION, 
TECHNICAL SUPPORT 

and attention to detail that 


have distinguished 
Blaise Computing 
over the years. 

Turbo POWER 
TOOLS PLUS sup¬ 
ports Turbo Pascal 
Version 2.0 and 
later and is just 
599.95. 

Another quality prod¬ 
uct from Blaise Computing: Turbo ASYNCH 
PLUS™ 

A new package which provides the crucial 
core of hardware interrupt support needed to 
build applications that communicate. 
ASYNCH PLUS offers simultaneous buffered in¬ 
put and output to both COM ports at speeds up 
to 9600 baud. The XON/XOFF protocol is sup¬ 
ported. Now it also includes the “ XMODEM ” 
file-transfer protocol and support for Hayes 
compatible modems. 

The underlying functions of Turbo ASYNCH 
PLUS are carefully crafted in assembler for effi¬ 
ciency and drive the UART and programmable 
interrupt controller chips directly. These func¬ 
tions, installed as a runtime resident system, 
require just 3.2K bytes. The high level function 
are all written in Turbo Pascal in the same 
style and format as Turbo POWER TOOLS 
PLUS. All source codeis included for just 

*r- 


$99.95. 


BLAISE COMPUTING INC. 

2560 Ninth Street, Suite 316 Berkeley, CA 94710 (415) 540-5441 

ORDER TOLL-FREE 800-227-8087 

Calif, residents call (415) 540-544JL _ _ —• — 

',s*' 

' OTHER—-r^idd Sl°- 00 f , ). 

* domestic order ___ phone: ( —— 



\ Name 

> Shipping AddreSS ’' 

\ Clt y 

l VISA or _ 























ASYSTANT+ 


notepad disk file. Disk file output can 
be inserted at the current cursor loca¬ 
tion or appended to the end of the file. 
Charts and tables can be constructed in 
the stack with the various matrix opera¬ 
tors and functions, edited with the aedit 
command, and then inserted into the 
notepad file. 

Mini-calculator. A streamlined version of 
the desk calculator, the mini-calculator, 
is available from both text and graphics 
displays when any of the main menu 
options is active. Only the command 
line can be used for input; menu input 


• Attach to most IBM PC compatibles 

• Cobol, Fortran, BASIC, and C support 

• 800 NRZI, 1600 PE, and 6250 GCR 

• Transfer rate is 1-4 MByte/Minute 

• Block lengths up to 65K 

• ANSI, IBM, DEC, and DG supported 

• Support for most record types 

• Multivolume and labeled tapes 

• Select specific records to transfer 

• Record reformatting and translation 

• Hard disk backup utility 

• Support for many tape drive models 


is not available, and those commands 
that are only available as menu selec¬ 
tions cannot be called from the mini¬ 
calculator. The display consists of the 
stack and a command line. 

DOS commands and help. A menu of basic 
DOS operations can be invoked by 
pressing Ctrl-D. Menu selections can 
delete, copy, and rename hies, display 
directories, and return to asystant-k An 
on-line help facility can be invoked by 
pressing the ? key. It is context sensitive 
and organized to follow the structure of 
the manual. The help display can be 


The price for controller card, cable, and 
transfer software is only $795. The op¬ 
tional tape data reformatting utility is 
$195. Several model tape drives are 
available for $2700 to $9200 depending 
on features. 

Since 1982, we have installed thousands 
of diskette and tape conversion systems 
at customer locations around the world. 
Call us today for help in connecting a 
9-track tape system to your IBM PC. 


paged by pressing the Space Bar, or 
navigated with the function keys. 

ACQUIRING THE DATA 

In addition to the basic ASYSTANT facil¬ 
ities, asystant+ includes the software 
necessary to control data acquisition 
hardware, The host computer, under 
the control of asystant-h, becomes the 
control panel and graphic display for 
several such devices. In each case, the 
computer display resembles a tradi¬ 
tional analog instrument. 

Data acquisition functions are avail¬ 
able from the data acquisition menu, 
which is displayed when the acquire 
option is selected from the main menu. 
This menu includes selections for the 
various instruments asystant + can emu¬ 
late and a selection for configuring the 
software to match the data acquisition 
board or external chassis. 

Configuration of the system is 
menu-driven. It consists of selecting the 
host computer and the data acquisition 
board from lists of supported devices 
and then setting various parameters to 
match the physical configuration of the 
data acquisition board. The manual 
astutely warns the user that determining 
the physical configuration of the hard¬ 
ware may not be a trivial matter. A 
detailed appendix provides information 
about the configuration of supported 
boards; it is presented clearly and con¬ 
cisely enough to replace most data 
acquisition board manuals for standard 
applications. 

It should be noted that configura¬ 
tion involves specifying the host com¬ 
puter as well as the data acquisition 
board, even though the program is in 
use on the host computer. The program 
must know the clock speed of the host 
computer to perform timing tasks. 

Data acquisition board parameters 
that are specified during the configura¬ 
tion process include the board’s I/O ad¬ 
dress, the number of A/D channels, the 
A/D channel voltage range, the hard¬ 
ware gain, the number of D/A channels, 
and the D/A voltage range, asystant+ 
does not necessarily support all of the 
features and configurations of sup¬ 
ported boards, but the manual docu¬ 
ments the ones that are. 

Additional configuration parame¬ 
ters, selected from the acquisition con¬ 
figuration menu include confirmation 
that a hardware scroller board (a high¬ 
speed, strip-chart recorder) is installed, 
the specification of engineering units to 
be used in file conversion, color assign¬ 
ments for A/D channels when an EGA 
board is installed, the assignment of 
names to channels, and a bit pattern to 


f FLAGSTAFF 
_ ENGINEE RIN G 

1120 W. Kaibab • Flagstaff, AZ 86001 • Telephone 602-779-3341 


TRACK 

TAPE 



Our “TAPE CONNECTION” system is used by hundreds of companies for mailing 
lists, report filing, check processing, sales analysis, off-line printing, and exchang¬ 
ing large data base files with a mainframe. Our system features: 



114 


PC TECH JOURNAL 
















0/S ARCHITECTURE: sink with UNIX or soar with QNX. 


If the sheer weight of UNIX brings 
the PC to its knees, all 
applications running under it will 
suffer. Conceived more than a 
decade and a half ago, UNIX is 
today the result of modifications, 
additions and patches by 
hundreds of programmers. 

It needs the resources of 
at least an AT. 

Compare this to the QNX O/S, 
designed by a dedicated team 
with a common purpose and 
complete understanding of both 
the software and the 
environment in which it must 
run. Having elegantly solved 
the problem of inter-task 
communications, QNX is more 
than capable of both networking 
and real time performance 
- the superior choice for 
process control and office 
automation systems. 

Quick and efficient on a PC, QNX 
soars on an AT. QNX occupies 
70K (stand-alone version) to 
104K (network version) of system 
memory and allows 40 tasks 
(programs) and up to 
lOterminals per computer. 

QNX modular architecture 
facilitates easy adaptation 
and extensions by software 
developers for specific 
requirements. In addition, 

PC-DOS runs as a single-tasking 


guest operating system under 
QNX. With the DOS Development 
System, DOS EXE files can be 
developed in shorter time 
than under DOS itself. 
Communication among all tasks 
is via “message-passing.” Tasks 
anywhere on a network of up to 
255 computers communicate 
rapidly and transparently 
with each other. 

With the true distributed 
processing and resource sharing 
of QNX, all the resources on the 
network are available to any user. 
Application programs and data 
can be distributed over the 
network without having to go 
through a central file server. 


Network growth is fast and 
simple. If your disk becomes 
a bottleneck, add a disk 
anywhere on the network. If 
your needs outgrow your 
present configuration, just add 
terminals and/or computers 
as required, without having to 
re-write programs and without 
system degradation. 

If you would like to know the 
secret of the QNX architecture, 
please give us a call. We invite 
End Users, VAR’s, OEM’s and 
Software Developers to discover 
a whole new world of 
computing capabilities. 

Over 25,000 systems have been 
installed worldwide since 1982. 


Multi-User 

10 serial terminals per PC, AT. 

C Compiler 

Standard Kernighan and Ritchie. 

Multi-Tasking 

Networking 

40 (64) tasks per PC (AT). 

2.5 Megabit token ring. 

255 PC’s and/or AT’s per network. 

10,000 tasks per network. 

Thousands of users per network. 

Flexibility 

Single PC, networked PC’s, 

Single PC with terminals, 

Networked PC’s with terminals. 

No central servers. Full sharing of 
disks, devices and CPU’s. 

Real Time 

2,800 task switches/sec (AT). 

PC-DOS 

PC-DOS runs as a QNX task. 

Message 

Passing 

Fast intertask communication between 
tasks on any machine. 

Cost 

From US $450. 

Runtime pricing available. 


Fbr further information or a free demonstration diskette, 
please telephone (613) 726-1893. 

The only multi-user, multi-tasking, 
networking, real-time operating system 
r^7for the IBM PC, AT 
1 and compatibles. 

By Quantum Software. 


Unix is a registered trademark of AT & T Bell Labs, IBM PC. AT, XT and PC DOS are trademarks of IBM Corp. 

Quantum Software Systems Ltd., Moodie Drive High Tech Park, 215 Stafford Road, Ottawa, Ontario, Canada K2H 9C1 


CIRCLE NO. 239 ON READER SERVICE CARD 




























































ASYSTANT+ 


STOP 
HALF-FAST 

PROGRAMMING! 


Speed Up YOUR 
Programs With... 


THE^WKTCHER 


An execution profiler 
for IBM PCs 
and compatibles. 


Most programs run at 
less than half the speed 
they could. You can opti¬ 
mize almost any code, 
but where do you start? 

A typical program spends 
90% of its time in 10% of 
its code. The Watcher 
identifies that critical 10% 
for you, so you don’t 
waste your effort on the 
wrong 90%. 

The Watcher is easy to learn 
and easy to use, and we provide 
full technical support. Watcher 
users have increased program 
performance by as much as 
300%. You can get similar 
results. 


The Watcher works with any 
non-interpretive language on 
DOS version 2 or 3. 

Turbo Pascal users: A 

special section of our 
manual is dedicated to 
you! 


THE^WOCHER 


only 

$59.95 

Plus $3.00 
Shipping & 
Handling. 


To order or for free information, 
call or write: 






Forest Road 

Wilton, New Hampshire 03086 

(603) 654-2525 



CIRCLE NO. 244 ON READER SERVICE CARD 


FIGURE 2: Data Acquisition Menu 



FUNCTION 

GENERATOR 


/ --- 


STRIP CHART 
RECORDER 




XY 

RECORDER 


\ 


TRANSIENT 

RECORDER 


DATA 

LOGGER 


HIGH SPEED 
RECORDER 


SIGNAL 

AVERAGER 


HARDWARE 

SCROLLER 



11 

_1 

1 

■ : 






1 : : 



1 













Although the accuracy that can be obtained from a PC-based data acquisition sys¬ 
tem does not match that of individual laboratory instruments, asystant + does man¬ 
age to provide an economical solution for moderate sampling rates. 


be set on the digital output port at the 
beginning of a data acquisition session. 
A final option is the selection of an un¬ 
protected mode, asystant + normally op¬ 
erates in a protected mode, in which it 
prevents acquisition of data at sampling 
rates above that known to be reliable 
(the Nyquist rate). The unprotected 
mode allows the user to specify higher 
sampling rates at the risk of hanging the 
system, requiring a reboot. 

With the data acquisition board in¬ 
stalled and configured, asystant+ pro¬ 
vides the user with the ability to select 
the preferred interface, or metaphor , 
from the data acquisition menu. Each 
selection performs the same basic task, 
that of controlling the data acquisition 
board, but it resembles a different labo¬ 
ratory instrument (see figure 2). 

asystant + can simulate a strip-chart 
recorder, a hardware scroller (if one is 
installed), an XY recorder, a transient 
recorder, a data logger, a high-speed re¬ 
corder, a signal generator, and a func¬ 
tion generator. When an instrument is 
selected, the program displays a sub¬ 
menu including options to set or mod¬ 
ify instrument parameters, to begin 


acquiring data, and to return to the data 
acquisition menu. Set-up parameters 
can be saved to disk and recalled. 

In general, acquisition parameters 
are common to all of the instruments; 
although some of them require the 
specification of additional parameters. 
asystant + displays the current parame¬ 
ters on a configuration screen, along 
with appropriate limitations, and 
prompts the user for new values. The 
parameters required to set up a gener¬ 
al-purpose instrument for a session are 
trigger type, internal or external clock, 
number of analog input channels, the 
first channel in a scan cycle, value for 
the software gain, the acquisition rate, 
the number of data points per channel, 
the number of scans to perform in the 
session, and the file to be used for data 
storage (file storage is optional). 

Because data acquisition boards 
typically multiplex several analog input 
channels through a single analog to dig¬ 
ital converter and have limits on the 
speed at which they can operate, these 
parameters are interrelated. For exam¬ 
ple, in the high-speed recorder mode, 
the maximum acquisition rate is in- 


116 


PC TECH JOURNAL 



















































































Introducing the new 

386XT 




Quad386XT turns 
into a 386 for less 


Step up to the power of386 with Quad386XT from 
Quadram. At under $1500, it’s the first system en¬ 
hancement to deliver uncompromised 386 per¬ 
formance for your PC XT. 

The power of 32-bit processing. Just plug 
Quad386XT into your PC XT. It’s easy. There are no 
switches or jumpers to set. The on-board 80386 chip 
takes charge of your XT system with true 32-bit pro¬ 
cessing, unlimited memory access, greater speed, and 
full PC program compatibility. 

Multitasking at 16MHz! With 
Quad386XT, your XT acts like a 
$7000 Compaq 386 machine. 

IBM is a trademark of Inttnutiotial Businas Machines Inc., 


And at 16MHz, Qpad386XT 
gives you fast, efficient multi¬ 
tasking. Run your programs con¬ 
currently and watch your productivity jump! 

Attention DP managers and VAD/VARs. 

Quad386XT makes perfect sense when you want to 
upgrade or custom-tailor a system for true 386 perfor¬ 
mance. And at under $1500, it’s the smartest 
choice around. 


For more information, contact us at 
One Quad Way, Norcross, Georgia 
30093,404-923-6666. 

QUADRAM 

' An Intelligent Systems Company 


CIRCLE NO. 223 ON READER SERVICE CARD 









ASYSTANT+ 


versely proportional to the number of 
channels selected. 

asystant + extends the operation of 
its waveform generator to the control of 
the data acquisition hardware, allowing 
the system to operate as a function gen¬ 
erator. The digital values determined by 
the function generator are used to pro¬ 
duce analog signals with the data acqui¬ 
sition board’s digital-to-analog con¬ 
verter. The function generator provides 
two output channels, taking arrays 
stored in variables R and S as the input 
waveforms. The function generator can 
create standard waveforms, experimen¬ 
tal waveforms acquired from earlier ses¬ 
sions, and waveforms that have been 
processed by any asystant + function. 
asystant+’s function generator is capa¬ 
ble of providing signals that are not 
available from conventional analog 
function generators. It is limited in 
speed and resolution to a throughput of 
300 to 400 points per second. 

The function generator can be 
used as a stand-alone device or in con¬ 
junction with other asystant + instru¬ 
ments. In either mode, the generator’s 
output can be controlled interactively. 

As a stand-alone device, it can replace a 
conventional generator and drive a plot¬ 
ter or real-strip chart recorder to pro¬ 
duce a hard copy of a waveform. When 


used in conjunction with the other in¬ 
struments, the generator can provide a 
known stimulus or control signal to the 
experiment. Using the generator with 
other asystant + devices can affect the 
operation of the generator or the other 
device, reducing the throughput of the 
acquisition instrument. The program, 
however, does allow the operator to set 
the priorities of concurrent tasks. 

asystant+’s strip-chart recorder is a 
digital replacement for an eight channel 
strip-chart recorder. The screen display 
resembles an analog strip-chart record¬ 
er with data points that appear at the 
right edge of the display and move 
across the screen as if on moving pa¬ 
per. The screen displays only the active 
channels, providing greater resolution 
as the number of channels is reduced 
from the maximum of eight. 

The strip-chart recorder is limited 
to a maximum throughput of 40 to 
70 Hz (points per second in this con¬ 
text), the exact maximum rate depends 
upon the hardware configuration. If the 
maximum number of channels is select¬ 
ed, and data are output to disk concur¬ 
rently, the throughput is reduced. Thus, 
the recorder is suited only to slowly 
varying signals. If data file output is not 
selected, the data are lost once they 
scroll off the screen. 


While it is operating, the strip-chart 
recorder can be controlled. The data ac¬ 
quisition rate and gain can be altered; 
data hie output can be suspended and 
resumed; and the display resolution can 
be modified by skipping data points. If 
the function generator is active, it may 
also be adjusted. 

The XY recorder acquires data 
from a maximum of two channels and 
displays the data on an xy plot—one 
channel’s input corresponding to the a; 
axis and the other corresponding to the 
y axis. It is possible to display vertical 
and horizontal grids either individually 
or together. 

The XY recorder has a higher 
throughput, ranging from 340 to 670 
Hz, than does the strip-chart recorder. 
The difference in speed is due to the 
limit of two channels, and to a lack of 
concurrent data hie output that is avail¬ 
able only between scan cycles. The user 
can select a single scan mode in which 
the recorder pauses to allow data hie 
output or a continuous scan in which 
data hie output is not an option. 

The XY recorder can be interac¬ 
tively controlled. While the recorder is 
acquiring and plotting data, the user 
can set the acquisition rate and pro¬ 
grammable gain, adjust the function 
generator (if it is enabled), change the 
display increment and halt the scan. Be¬ 
tween scans, data can be saved to disk if 
data hie output was selected; then the 
next scan can be initiated, and the cur¬ 
rent scan can be displayed versus time, 
superimposed on the xy plot. 

To acquire data before and after an 
event in an experiment, the transient 
recorder captures and plots analog data 
in two stages, based on two triggers. It 
can acquire data on as many as eight 
channels with a maximum throughput 
of 340 to 800 Hz. The user must specify 
two triggers to begin acquisition of data 
for each stage. The recorder acquires 
and then plots the data. As with the XY 
recorder, data can be output to a disk 
hie only between scans. A continuous 
mode and active control during opera¬ 
tion are available. 

The data logger is a low-speed de¬ 
vice that provides for analog data input 
from up to four channels and the con¬ 
trol of eight digital lines. Its throughput 
is limited to 1 Hz. However, concurrent 
data hie output, realtime conversion of 
voltage to engineering units, and simul¬ 
taneous hard-copy output are available. 
Data are displayed in text form on the 
screen in realtime. 

Setting the acquisition parameters 
for the data logger requires three 
screens instead of the usual one for se- 


Personal REXX 

for the IBM PC 

★ Interpreter for the full REXX language, including all of the standard REXX 
instructions, operators, and built-in functions 

★ Sophisticated string manipulation capabilities 

★ Unlimited precision arithmetic 

★ Direct execution of DOS commands from REXX programs 

★ Built-in functions for DOS file I/O, directory access, screen and keyboard 
communication, and many other PC services 

★ Compatible with VM/CMS version of REXX 

★ Uses include: 

— Command programming language for DOS 

— Macro language for the KEDIT text editor 

— Can be interfaced by application developers with other DOS 
applications, written in almost any language 

Mansfield Software Group, Inc. $125 plus $3 shipping 

P. O. Box 532 MC, VISA, AMEX, COD, PO, CHECK 

Storrs, CT 06268 

(203) 429-8402 

CIRCLE NO. 263 ON READER SERVICE CARD 


118 


PC TECH JOURNAL 








AN ELECTRONIC DETECTIVE 

In a practical application, asystant+ 
can be used as a sophisticated detec¬ 
tive in an industrial plant. As an 
example, a plant engineer installs a 
tachometer on a component of a 
production line, and it produces a 
clean, square wave. However, when 
the tachometer is connected to the 
control panel several hundred yards 
away, the control panel display is 
greatly altered and meaningless. The 
plant engineer connects a microcom¬ 
puter with a data acquisition board 
and asystant + installed, and finds a 
signal like the one shown in figure 
1, instead of the square wave. 

The plant engineer then takes 
the asystant + equipped microcom¬ 
puter to the tachometer and meas¬ 
ures the signal directly. As expected, 
its output is normal, the square wave 
shown in figure 2. Evidently, the sig¬ 
nal is being degraded between the 



The waveform at the control panel has a large amount of 
noise superimposed on the square wave. 



Subtracting the square wave from the waveform in figure 1 
shows the noise that has been inducted in the cables. 


the system. The resulting waveform, 
plotted in figure 3, is still made up 
of several components. 

On a logical hunch, the plant 
engineer tries subtracting a 60 Hz 
sine wave, to remove any “power 
hum”. After a few attempts with the 
waveform processor to get the cor¬ 
rect amplitude, the waveform of fig¬ 
ure 4 results. 

At this point, two components 
are clearly discernible, a high fre¬ 
quency sine wave riding on a lower 
frequency sine wave. The frequency 
of each waveform is easily deter¬ 
mined, at least in this simplified ex¬ 
ample. With the frequencies of these 
components known, the engineer 
can set about locating their sources. 
For a more complicated situation, 
other methods such as plotting the 
power spectrum can be used. 

—Victor E. Wright 




The waveform that is produced at the tachometer end of the 
signal lines is in the form of a clean square wave. 


After the removal of the power hum, the remnant noise can 
be seen to be two waveforms, as shown in this example. 


tachometer and the control panel. 
Because the line from the tachom¬ 
eter to the control room is routed 
through the plant, past various ma¬ 
chines and switchgear, the plant en¬ 
gineer is not surprised. The problem 
is to identify the offending signals 
and their sources. 

With the noisy signal at the con¬ 
trol panel and the square wave sam¬ 
pled at the tachometer stored in 
asystant + variables, the engineer is 
ready to begin analyzing the signal. 
After verifying that the square wave 
and the noisy signal samples repre¬ 
sent the same time interval and the 
same number of data points, the en¬ 
gineer subtracts the square wave 
from the composite signal. Subtract¬ 
ing the two arrays stored in the vari¬ 
ables from each other and storing 
the result in another variable leaves 
just the noise that is picked up in 


FEBRUARY 1987 


119 


































































































































































































































































































































































t \ The 80386 chip. The “big bang” 

/ / that’s put the speed and power of a mini- 

/ A computer into a desktop PC. As awesome 
^ / At as the creation of the universe, the 80386 

» / 4 1 * signals the beginning of a new generation 

/ /\\^ of computers. 

/ /w\ 1 But how will you make them run? Will 

f A | you choose an (derating system*designed for 
/ /\ V the world of DOS applications... or one for the 

/ AY" world of multi-users? 

/ a \ * Introducing a new star, PC-MOS/386™... 

/ A\ The Best of AU Worlds. 

L A \ The Brightest of the Multi-User Operat- 

jflf A Y ' ing Systems. PC M OS was specifically designed to 
a \ l take full advantage of the 80386’s 32-bit multi-user 
ly(t \ power. Planetary features include file & directory secur- 
AY" ity, access to four GIGABYTES of memory, and graphics 

jL \ \ support for 25 terminals driven by a single 80386-PC. 
P\\\Y\ PC-MOS’s “Hot Spots”... 10,000 DOS Appli- 

\ \\ \* cations. DOS program compatibility puts a world of 
Y ' \ \ applications at your fingertips... like Lotus 1-2-3, dBASE 

1 % " m, and WordPerfect. Plus, multi-tasking lets each user run 

* up to 25 programs at the same time. 

New Stars Are Still Being Bom. Call The Software 
Link TODAY for more information and the dealer nearest you. 

PC-MOS/386™ will make its earth orbit in February 1987 with single- 
user, 5-user, & 25-user versions. 


PC-MOS/386 

THE FIRST 80386 OPERATING SYSTEM 

G© THE SOFTWARE LINI 


8601 Dunwoody Place, Suite 632 

Atlanta, GA 30338 Telex: 4996147 SWLINK 
CALL: 404/998-0700 Dealer Inquiries Invited 
THE SOFTWARE LINK, INC./CANADA 
k 250 Cochrane Drive, Suite 12 

Markham, Ont L3R 6B7 
fia CALL: 416/477-5480 

IHH PC-MOS/386’" is a trademark of The Software Link, Inc. 

Lotus 1-2-3, dBASE m, & WordPerfect are trademarks of 
Lotus Development Corp, AshtonTate, & WordPerfect 
Corp., respectively Technical specifications subject to 
K change. Copyright €> 1986 by The Software Link, Inc. 

CIRCLE NO. 196 ON READER SERVICE CARE 



SYSTANT+ 


cting and configuring the analog input 
lannels. Screens are provided to de- 
le from one to four stages and up to 
x alarm triggers. The stages allow the 
:quisition rate and control logic to be 
iried during the course of an exped¬ 
ient. The alarm triggers control the 
splay of messages and output of user- 
dined bit patterns on the digital lines 
:cording to analog input levels or digi- 

1 input bit patterns. 

The ability to place bit patterns on 
ie digital port allows the data logger to 

2 used as a controller. It can monitor 
id display up to four process variables 
teasured with analog sensors, and it 

in monitor the states of as many as 
ght digital, two-position, devices, 
ased on these conditions, the data log- 
*r can provide an eight-bit digital out- 
at, which can be used to control eight 
gital devices or, if suitably converted, 

1 analog device. It cannot directly con- 
ol a proportional control device. 

The high-speed recorder provides 
Le highest sampling rate of the asys- 
lNT+ instruments, matched only by the 
gnal averager. Depending upon the 
ita acquisition hardware, the sampling 
ite may exceed 30 KHz. The sampling 
ite that is realized is affected by the 
amber of channels specified, as well 
i by the add-on hardware limitations. 

This high-speed recorder performs 
5 tasks sequentially, first acquiring the 
ita, then plotting them on the screen, 
id finally recording them to disk, 
sers can disable the screen display to 
^duce the time between scans. Active 
introl is provided, allowing the data 
lot to be examined in detail between 
ich of the scans. 

The signal averager is similar to 
ie high-speed recorder, offering the 
ime sampling rate and number of 
lannels and storing a cumulative aver¬ 
se of multiple scans. It allows data file 
atput only at the end of a session, at 
hich point it stores the current cumla- 
ve average. The display is similar to 
tat of the high-speed recorder, howev- 
:, it shows the current scan and the 
imulative average scan superimposed 
>r each channel. 

ARDWARE CONSIDERATIONS 

;ystant+ runs on the IBM PC family of 
amputers, as well as on compatibles, 
he full 640KB of RAM supported by 
C-DOS must be installed, along with 
a 8087 or 80287 math coprocessor, 
vo diskette drives or one diskette and 
ne hard-disk drive, and a supported 
raphics board. Supported graphics 
oards include the IBM Color Graphics 
dapter (CGA), the IBM EGA, the Her- 


UNIX Tools on DOS 



HARVEST THE KORN 

Over 70 programs bringing elements of UNIX System V.2 to the 
world of DOS. Our tools enhance your efficiency on machines 
like AT&T 6300, IBM PC, XT, AT and compatibles. We offer: 

shell — Korn shell compatible — combines best features of 
Bourne & C shells 

vi — a detailed implementation of the UNIX full-screen editor 

awk — the only commercially-available version offering Bell Lab's latest 
published specs 


cat 

chmod 

cmp 

comm 

cp 

cpio 

ctags 

cut 

date 

dd 

dev 

df 

diff 

du 

echo 

ed 

egrep 

fgrep 

file 

find 

head 

help 

join 

Ic 

Is 

more 

mv 

nm 

od 

paste 

Pg 

prof 

pwd 

rm 

sed 

size 

sort 

split 

strings 

tail 

time 

touch 

tr 

uniq 

wc 



and much, much more . . . 

Programs come with complete UNIX-style command-line file name expansion and are not 
copy protected. Phone support 9-6 EST. Full documentation is included. 


Price: $139.00 Mortice Kern Systems Inc. 

43 Bridgeport Rd. E., Waterloo, Ontario N2J 2J4 

For information or ordering call collect: (519) 884-2251 

MasterCard & Visa orders accepted. OEM & dealer inquiries invited. 

UNIX is a trademark of Bell Labs. MS-DOS is a trademark of Microsoft Corp. 


STREAMLINE YOUR PROGRAMMING 


CIRCLE NO. 174 ON READER SERVICE CARD 


cules Graphics Card, the AT&T High- 
Resolution card, and the HP Vectra Mul¬ 
timode adapter. 

The program performs the basic 
asystant tasks without installing addi¬ 
tional hardware. However, if data acqui¬ 
sition is to be performed, asystant+ 
does require that a data acquisition 
board or external data acquisition chas¬ 
sis be used. Supported data acquisition 
hardware includes the Cyborg Issac 91- 
I, the Dataq WFS-200PC Waveform 
Scroller, Data Translation’s DT2800 se¬ 
ries, IBM’s Data Acquisition and Control 
Adapter, the Keithley Series 500 system, 
Megabytes DASH-16 board, and Tec- 
mar’s Lab Master and Lab Tender 
boards. (See “Digitizing Analog Data,” 
Eric M. Miller, May 1986, p. 52 for re¬ 
views of some of these products.) 

asystant- i- is a demanding program. 
In addition to installing 640KB of RAM, 
the user must ensure that the maximum 
amount of RAM is available. TSR (termi¬ 
nate and stay resident) programs and 
device drivers must be kept to a mini¬ 
mum; the safest course is to use only 
the standard DOS configuration. 

For this article, asystant+ was 
tested on a Heathkit H-241 AT-compati- 
ble computer, with 640KB of RAM, 


2,176KB of extended memory, an 80287 
numeric coprocessor, a Concept Tech¬ 
nologies ConceptBoard graphics adapt¬ 
er, and a Data Translation DT2801A data 
acquisition board. 

Although asystant + can operate on 
a dual-diskette system, a hard disk 
should be considered a practical re¬ 
quirement. Macmillan furnishes 
asystant + on six diskettes—running the 
program from diskette drives requires 
frequent swapping of diskettes and se¬ 
verely limits hie storage. 

Program configuration is an option 
when the program is first loaded. The 
program displays a sign-on message and 
then a menu with options to recall 
functions, parameters, and variables 
from a disk hie, to perform hardware 
conhguration, and to begin using the 
program. The second selection, Setup, 
displays a conhgure menu, with options 
for selecting the display, plotter, and 
printer, and for disk assignments for the 
system overlay, data, and help hies. The 
initial installation of the program con¬ 
sists of copying the hies from the distri¬ 
bution disks. Conhguration is accom¬ 
plished at the beginning of the initial 
session and can be repeated at the be¬ 
ginning of any subsequent session. 


BRUARY 1987 


121 













ASYSTANT+ 


asystant + uses a straightforward 
method of configuring and controlling a 
data acquisition board. However, instal¬ 
lation of a data acquisition board in a 
typical microcomputer system may re¬ 
quire the reconfiguration of other 
boards, the use of a nonstandard config¬ 
uration of the data acquisition board, or 
the removal of other boards. Most data 
acquisition boards are designed and 
factory-configured to operate in a stan¬ 
dard microcomputer system, and asys¬ 
tant + assumes the use of a factory-con- 
figured board. Microcomputers that 
have multiple video boards, high-reso¬ 
lution graphics boards, nonstandard 
mass storage device controllers, mice 
scanners, and other accessories may be 
difficult to configure. 

The program allows the specifica¬ 
tion of the I/O address of the data ac¬ 
quisition board, and most data acquisi¬ 
tion boards can be jumpered to one of 
several addresses. Selecting an unused 
I/O address in a complex system may 
not be trivial, but it can be accom¬ 
plished with some research. 

To provide high-performance hard¬ 
ware, many data acquisition board com¬ 
panies incorporate circuitry to use the 
computer’s DMA channels, as do the 
manufacturers of hard-disk controllers, 
tape backup systems, optical scanners, 


network interface boards, and other 
high-performance accessories. The stan¬ 
dard PC has four DMA channels, two of 
which are free for accessories; the XT 
has only one free channel to support all 
of the accessories that require DMA ser¬ 
vices. asystant + does not use DMA, but 
some acquisition boards must be con¬ 
figured to use DMA. The user must pay 
attention to this issue. 

Some data acquisition boards im¬ 
plement a memory mapped addressing 
scheme rather than an I/O addressing 
scheme, using the memory above the 
base 640KB of user RAM. These boards, 
designed when it appeared that there 
were “holes” in the PC’s memory map, 
may conflict with the EGA and other 
video boards or with other accessories 
that use normally vacant segments of 
the memory map. 

RATING THE PERFORMANCE 

As a calculator, asystant + is a high-per¬ 
formance program. Most computational 
tasks, including matrix operations, are 
performed almost instantaneously. A 
few of the advanced operations are 
slower, but still reasonably fast, requir¬ 
ing a few seconds at most. 

As a data acquisition system, asys- 
tant+ realizes the potential of the 
microcomputer. Critical elements of the 


program are written in assembly lan¬ 
guage to attain the highest possible 
speed of operation. However, a micro 
computer is limited by its design as a 
general purpose computing machine. 
Overall system throughput is limited t 
the speed of the data acquisition boar< 
the clock speed of the computer, and 
the speed with which data can be writ 
ten to disk. asystant+ achieves its ulti¬ 
mate performance, which is essentially 
the performance limit of the data acqc 
sition accessory, by dedicating the hos 
computer to controlling the accessory 
and transferring the acquired data to 
RAM. Graphic displays and disk I/O an 
performed between acquisition tasks. 

asystant+, a data acquisition boar 
and a microcomputer will not replace 
battery of high-performance, dedicatee 
laboratory instruments. Dedicated in¬ 
struments are able to offer higher sam 
pling rates, sometimes by factors of 
hundreds or thousands, than does an 
asystant + data acquisition system. Fur¬ 
thermore, they provide higher accurac 
and resolution. As an example, an HP 
3852S Data Acquisition and Control Sy 
tern, suitably configured, can acquire 
100,000 readings per second and store 
up to the order of 64,000 readings lo¬ 
cally. High-performance digital storage 
oscilloscopes and waveform analyzers 


Thanks for all th< 
cold pizza, drinking die 

a‘normal’iob. 


122 


PC TECH JOURNy 








:an acquire data at sampling rates of 
ens of millions of samples per second. 
Nevertheless, the asystant+ based sys- 
em is a sound solution to the data 
tcquisition problem. An example of 
kSYSTANT+’s uses is given in the accom- 
)anying sidebar. 

It should be noted that the basic 
tcquisition and analyzing of data is pro¬ 
dded by the data acquisition hardware 
md not the program. The ambitious ex- 
>erimenter/programmer may be able to 
lo quite well without asystant+, by 
vriting custom software to control the 
lardware. But the average experiment¬ 
er, who must concentrate on the task at 
land, will find that asystant+ makes 
:onfiguring a comprehensive system a 
datively straightforward procedure. 
Writing custom software to match asys- 
"ant+’s analysis and presentation 
:apabilities could not be done within a 
easonable timeframe. 

[HE SOFTWARE PACKAGE 

£ystant+ comes with seven diskettes, 
fhe program is copy protected; a key 
iiskette must be inserted in a diskette 
Irive to load the program. An alterna- 
ive to the key diskette arrangement is 
ivailable from Macmillan in the form of 
i hardware protection device. All of the 
ioftware can be copied to the hard disk 


or to the diskette drive with the DOS 
COPY command. 

The manual is a 2-inth, loose-leaf 
binder with 8^ by 11-inch pages. It in¬ 
cludes a tutorial, a reference section, 
several appendices, and an index, all 
separated with tabbed dividers. A hard 
slipcase is included. Both the printing 
and packaging are excellent. 

The tutorial is thorough and accu¬ 
rate. It guides the user through the es¬ 
sential features of asystant-k Although 
the tutorial assumes that the user 
already has some knowledge of data 
acquisition, it is suitable for use as a re¬ 
fresher for occasional practitioners, or 
as an introduction for a determined be¬ 
ginner. The tutorial can be completed 
in a reasonable amount of time. 

The reference section is well 
organized, closely following the pro¬ 
gram’s menus. It covers die simulated 
instruments in considerable detail. The 
user will seldom have to refer to the 
data acquisition hardware documenta¬ 
tion if the hardware is controlled exclu¬ 
sively With ASYSTANT+. 

One possible drawback is that the 
manual is definitely not a mathematics 
textbook. The advanced math functions 
available in the calculator are summar¬ 
ized only briefly. Users who occasion¬ 
ally require Bessel functions and fast 


Fourier transforms may need to keep 
an assortment of math textbooks handy. 
The sister product, asyst, provides a 
more insightful tutorial for using the 
mathematical functions. 

asystant+ adds realtime data acqui¬ 
sition capabilities to the asystant calcu¬ 
lator, which rivals any general purpose 
computational tool, microcomputer- 
based or not, in terms of speed, ease of 
use, and functions. The data acquisition 
capabilities obviously do not match 
those of dedicated instruments. Howev¬ 
er, they do provide a comprehensive as¬ 
sortment of techniques for applications 
that can tolerate moderate sampling 
rates and provide these features at 
much lower cost than dedicated instru¬ 
ments. An asystant+ system is a well- 
balanced solution to moderate data ac¬ 
quisition needs and a high-perfo rmance 
solution to analysis needs. IBuiSfil 

ASYSTANT +: $895 
Macmillan Software Company 
866 3rd Avenue 
New York, NY 10022 
212/972-3960 

CIRCLE 348 ON READER SERVICE CARD 

Victor E. Wright is the manager of process 
engineering at Luckett & Farley, located in 
Louisville, Kentucky. 


lights you spent eating 
^ and wishing wu had 


This is for Steve Klein and Dave Rolfe... two partners of Singular Solutions 
Engineering of Pasadena, California, and for the more than 100 other people at Lotus® who 
comprised the Lotus HAL" team. Without their help, Lotus HAL would never have become 
what it is today: one of the most successful new releases in personal computer software 


since 1-2-3® Thanks. 


Lotus Development Corporation 



© 1987 Lotus Development Corporation. Lotus and 12-3 are registered trademarks of Lotus Development Corporation. Lotus HAL is a trademark of Lotus Development Corporation. 
Lotus HAL is distinguished from HAL. which is a t rademark of Qantel for its Hotel and Leisure Software. 


FEBRUARY 1987 


123 









In a multi-access micro to 
mainframe environment like 
this university computer 
center ; the responsibility of 
insuring *round the clock 
operation is the system 
experts / 






The computer marketplace has changed. It has gone from the 
fairly basic procurement of stand-alone personal computers 
and printers to complex configurations of extended memory 
boards, graphic boards, monitors, hard disks, tape back-up, 
printers, local area networks, micro-to-mainframe linkages 
and a whole host of complex software necessary to make these 
systems run. These products require in-depth technical evalu¬ 
ation before they can be even considered for purchase. 

That’s why the computer buyer has changed. The end-user 
is no longer able to select his own PC and peripherals. That job 
is being tackled by the systems experts-professionals who are 
able to build PC systems which optimize processing power, 
mass storage, connectivity and software applications. His sys¬ 
tems expertise has made him the key factor in recommending, 
evaluating and selecting PC’s and related peripherals for both 
his own and client companies. And in light of the industry’s 
shift toward connectivity, companies need someone who can 
understand the exacting requirements and specifications 
involved. Which is why the role of the systems expert has 
become even MORE important in system configuration, since 
very often he alone has the knowledge and expertise required. 

Consequently, reaching the systems expert should be the 
primary target for every marketer in the IBM PC standard arena. 


To stay on the cutting edge of computer technology, sys¬ 
tems experts rely on PC TECH JOURNAL. They turn to it every 
month because they know its editorial and ad content keeps 
them on the cutting edge of developments in the computer 
industry. And when companies 
depend on you for multi-million 
dollar systems—nothing else 
will do. That’s why PC TECH 
JOURNAL has become the key 
source of technical systems 
issues and PC product informa¬ 
tion for over 100,000 systems 
experts. 

If you’re a computer products 
marketer, you have to reach the 
systems experts, the ones 
whose expertise is directly 
responsible for corporate com¬ 
puter buying decisions. Reach 
100,000 of them every month in 
PC TECH JOURNAL. 








Speed Infusion 


The original IBM PC, which seems slow 
compared with 80286 machines, can 
be speeded up with different types of 
accelerators; these six do so by increasing 
the clock speed of the PCs resident 8088. 


TED MIRECKI 


S peed is much of what computers 
are all about. As each new category’ 
of personal computer is intro¬ 
duced, it necessarily boasts a higher 
clock rate: the original 4.77-MHz IBM 
PC was followed by 80286 machines 
running first at 6 MHz, then at 8, 10, 12, 
and now 16 MHz. The new 80386 mod¬ 
els start at 16 MHz, but have the poten¬ 
tial to reach 24 MHz and beyond. More¬ 
over, the increase in performance deliv¬ 
ered by these machines is greater than 
the ratio of clock frequencies because 
the amount of work they accomplish at 
each clock cycle is much greater. By 
comparison, the PC is slow indeed 
Rather than putting up with a slug¬ 
gish machine or replacing it outright, 
the hapless PC user has one other op¬ 
tion: a PC accelerator board. Accelera¬ 
tors work by adjusting one or both of 
the parameters that determine the com¬ 
puter’s internal processing speed: they 
modify either the clock rate (the fre¬ 
quency at which computational events 
occur) or the amount of useful work 
performed at each event, or clock cycle. 


Increasing the clock rate would seem to 
be a fairly simple process, but it is far 
from trivial on the PC. And expanding 
the processing power is more compli¬ 
cated still, requiring the replacement of 
the PC’s 8088 with something more ca¬ 
pable, such as an 8086, 80286, or 80386. 

This article reviews accelerator 
boards referred to here as Class I: they 
run the PC at a higher clock speed but 
retain the 8088 (or, in some cases, up¬ 
grade to an NEC V20). Six products are 
evaluated: American Computer & Pe¬ 
ripherals American Turbo, Maynard 
Electronics’ Surprise!, Megahertz Corpo¬ 
rations TurboSwitch, Microspeed’s 
Fast88, Microsync’s Screamer, and 
MicroWay’s 87/88 Turbo. Articles in sub¬ 
sequent issues will deal with boards in 
Classes II and III, which are more com¬ 
plex boards that contain advanced mi¬ 
croprocessors with data paths that are 
wider than eight bits. 

Because these first boards are, for 
the most part, simple devices, the per¬ 
formance improvement they deliver is 
far from spectacular. Still, their rela- 






















SPEED INFUSION 





PHOTO 2: Maynard Surprise! 


PHOTO 3: Megahertz TurhoSwitch 


Because each product modifies PC timing circuits (which 
were not designed to be modified), none is as easy to install 
as a typical PC add-in card. All require the removal of at 
least one chip from the motherboard, and some require the 
removal or replacement of several. Those requiring the in¬ 
stallation of a ribbon cable into a chip socket present the ad¬ 
ditional danger of plugging the cable connector in back¬ 
wards, as such cables are rarely keyed to avoid such confu¬ 
sion. The Megahertz TurboSwitch (photo 3 above) also re¬ 
quires the attachment of several fragile spring-hook-style clip 



PHOTO 5: Microsync Screamer 



PHOTO 6: MicroWay 87/88 Turbo 



leads to chip pins on the motherboard. These are easily dis¬ 
lodged by shock or vibration. Provision must be made in 


several cases for routing a switch cable out of the machine 
and attaching a switch box to the chassis. For the Turbo- 
Switch, this box is mounted on the PC’s front panel; thus, re 
moval of the machine’s cover requires disconnection of the 
switch box. All of the other products mount the switch box 
on the back panel. The Maynard Surprise! (photo 2) and Mi¬ 
crosync Screamer (photo 3) avoid the switch box problem 
altogether by allowing control completely from software. 


128 


PC TECH JOURNAL 


PHOTOGRAPHS • BLAKESLEE/LAN E 



















The oscillator and timer frequency cannot be altered without disrupting system operation. The oscillator signal is essential to 
200-line video modes, and the timer signal generates the 55-ms time-of-day interrupt and controls dynamic RAM refresh. 


tively modest price (starting at about 
$100) makes the purchase of one a 
worthwhile investment. An understand¬ 
ing of how they work also provides 
some interesting insights into very fun¬ 
damental aspects of the PC’s design. 

IS TIMING EVERYTHING? 

The main clock frequency that drives all 
PC system components is derived from 
a quartz crystal. In theory, a higher fre¬ 
quency can be obtained by changing 
this part. However, such an operation 
carries intrinsic difficulties. First, the 
crystal is soldered to the mother¬ 
board—its removal is no small task. A 
more serious problem is that this one 
source provides a base for several dif¬ 
ferent frequencies used in various parts 
of the computer. As figure 1 shows, an 
Intel 8284 clock generator produces 
various timing signals from one crystal 
frequency. In a stock PC, these signals 
are for the following components. 

The oscillator has a frequency that 
is equal to the crystals resonant fre¬ 
quency of 14.31818 MHz. This frequen¬ 
cy is fed to the expansion slots and 
used by various adapter cards, most 


notably the IBM Color Graphics Adapter 
(CGA), which divides it by 4 to obtain 
the 3.58-MHz color burst frequency re¬ 
quired by television monitors. 

The main processor clock runs at 
4.77 MHz, a speed obtained by dividing 
the oscillator frequency by 3. This is the 
heartbeat of the computer, the signal 
that synchronizes all activity in the sys¬ 
tem. At each beat of the clock, adders 
add, shifters shift, buses transmit, and 
so on. The duration of one clock cycle 
(the clock period) is the reciprocal of 
the frequency, or 210 nanoseconds (ns). 

The timer is a 1.1932-MHz signal 
obtained by dividing the clock frequen¬ 
cy by 4 (actually, the 8284 outputs a sig¬ 
nal that is the clock’s signal divided by 
2; this is again divided by 2 by circuitry 
on the motherboard). This timer signal 
is used by the 8253 timer chip in three 
timers, each of which may be pro¬ 
grammed to produce different frequen¬ 
cies by various divisions of the input. 
The first timer channel runs at 18.2 Hz 
(timer signal divided by 65,536) and 
produces the familiar timer-tick inter¬ 
rupt every 55 milliseconds (ms) that 
maintains the time-of-day clock. The 


second channel runs at 66.3 KHz (input 
divided by 18), generating a DMA (di¬ 
rect memory access) request for dy¬ 
namic memory refresh every 15 micro¬ 
seconds (|is). Both of these timers are 
initialized by the ROM boot-up routines. 
The last timer channel controls the 
speaker; its divisor can be set by a user 
program to any value between 1 and 
65,536, thereby theoretically producing 
sounds from the ultrasonic down to 18 
Hz. In practice, the physical limitations 
of the speaker limit it to a much nar¬ 
rower range of about 100 Hz to 8 KHz. 

Simply changing the crystal fre¬ 
quency, therefore, is not a possibility. 
The realtime clock, CGA video syn¬ 
chronization, and, most critical of all, 
dynamic memory refresh, are all too in¬ 
timately associated with it. This is not a 
problem with the AT, in which the pro¬ 
cessor clock is driven by its own crys¬ 
tal—the AT clock frequency is one-half 
that of the crystal, not one-third as in 
the PC—and the oscillator and timer 
signals are derived from a separate 
14.31-MHz crystal. In addition, the crys¬ 
tal driving the clock generator is sock¬ 
eted for easy replacement. The AT doc- 


FEBRUARY1987 


129 









































































SPEED INFUSION 



INTEL 

8284 


TURBO 


NORMAL 


SPEED 

SWITCH 


OSCILLATOR 


INTEL 

8284 


‘- 


umentation states that the clock signal is 
located in the expansion slots solely for 
synchronization and that its frequency is 
not guaranteed at any particular value. 
This design enabled IBM to easily re¬ 
place the 6-MHz AT with the 8-MHz 
model, and manufacturers of compati¬ 
bles to produce machines that operate 
at speeds up to 16 MHz. 

Interestingly, products to speed up 
the PC clock became widely available 
only after the introduction of the AT. 
Before that, users had no perceived 
need for the extra speed because there 
was nothing with which to compare the 
PC’s speed—it seemed adequate. On 
the other hand, the more complex co¬ 
processor boards with 8086 and 80186 
chips were being sold even then. Thus, 
although not always at the forefront, the 
market for higher-speed computing has 
existed. The AT, with its separation of 
the processor clock from the other tim¬ 
ing signals, pointed the way for chang¬ 
ing the PC’s clock frequency. 

In its simplest form, this method 
consists of installing two crystals in ad¬ 
dition to two 8284 chips, one to pro¬ 
vide oscillator and timer signals at the 
PC’s design frequencies and another to 
provide the clock signal at some fre¬ 
quency higher than 4.77 MHz. A typical 
arrangement is shown in figure 2. In ef¬ 
fect, the original 8284 is replaced by a 
printed circuit board (PCB) containing 
two 8284s; the various signals from the 
two are fed to the motherboard via the 
PC’s original original 8284 socket. This 
requires that the original 8284 be 
mounted in a socket. Some machines 
arrive with the 8284 soldered; in this 
case, it must be desoldered and a sock¬ 
et installed. Fortunately, the 8284 is 
socketed in most IBM PC’s. 

Figure 2 also demonstrates how 
the replacement of the 8284 with this 
additional circuitry permits the imple¬ 
mentation of two switches. One switch 
is used to move between 4.77-MHz 
mode and high-speed (turbo) mode. 
This is useful for clock-sensitive soft¬ 
ware, such as copy-protected programs, 
that does not work at high speed. 

The second switch really should 
have been a part of the original PC de¬ 
sign; it is a hardware reset that per¬ 
forms a cold boot in the same manner 
as the power switch, but with less wear 
and tear on the circuitry (especially 
hard disks). An explanation of how this 
reset is accomplished, and the ways in 
which it differs from a keyboard reset, 
is provided in the sidebar, “Alternatives 
to the Big Red Switch,” p. 135. 

Therefore, the PC’s pulse can be 
quickened without disrupting the activi- 


The 8284 running at 21 MHz is used only to generate a 7-MHz clock signal. The 
slower 8284 generates oscillator and timer signals at standard PC/XT frequencies. 


ties that depend on a fixed time period. 
The next question is, can the hardware 
components in the PC keep pace with 
the faster clock? The most critical of 
these is the microprocessor, which typi¬ 
cally is not capable of running at much 
beyond its design rate. In a stock PC, 
the 8088 is rated at 5 MHz and cannot 
be speeded up by a significant percent¬ 


age. It can, however, be replaced easily 
and at a reasonable price (even for a 
very high-speed chip). All of the boards 
reviewed here incorporate a high-speed 
replacement microprocessor. Again, this 
requires that the CPU be socketed. 

With a faster processor, the clock 
rate can be increased until the next bot¬ 
tleneck is reached; in most cases, this 


FIGURE 2: A High-speed Replacement Clock, Generator 


RES 


OSCILLATOR N/C 


CLOCK 7.0 MHz 


TIMER N/C 


14.318 MHz 
CLOCK 


TIMER 2.38 MHz 


RES 


RESET 

BUTTON 


+ 5 VOLTS 


ORIGINAL 
INTEL 8284 
SOCKET ON 
MOTHERBOARD 


130 


PC TECH JOURNAL 



























































12 MHz SPEED... 

... plus A MEGABYTE FOR DOS 



THEY ALL NEED NUMBER SMASHER/ECM " 


Turn your PC or XT into the machine it should have 
been! The 12 MHz Number Smasher/ECM is the fastest 
accelerator on the market It is also the most powerful, provid¬ 
ing a true megabyte for DOS! 

To break the 640K DOS barrier MicroWay designed a 
Memory Management Unit (MMU) that is tailored to DOS 
plus a 2000 byte resident driver- MegaDOS™. MicroWay 
calls this breakthrough Extended Conventional Memory. 
When you type CHKDSK with the board installed, your sys¬ 
tem will report 1,036288 bytes total memory and 1,010,016 
bytes free! Any conventional DOS program can utilize a full 
megabyte for data or code without changing a byte. 

Downloading a mainframe application? ECM memory 
runs with any program that uses DOS for screen services 
including RM and MS FORTRAN and MS and LATTICE C! 
This means you have an additional 384K available for over¬ 
sized applications. Programs which write directly to the 
screen require a simple patch to adhere to the new standard. 
MicroWay has already developed patches for the Lotus, 
WORDSTAR and AUTOCAD screen drivers. Release 1A of 
1-2-3 jumps from 535,516 to 916,444 bytes available and 
runs faster than Release 2 for most worksheets. 

Micro 

INay 

* Number Smasher, ECM and MegaDOS are tra 

CIRCLE NO. 155 ON RE 


Number Smasher/ECM is 100% compatible with 
hardware and software including EMSand EGA boards.T 
compatibility is a result of control: its speed is switch, k< 
board or software selectable from 4.77 MHz to 12.0 Ml 
Applications which have not been upgraded to ECM can 5 
be run by setting DOS to 640K or 704K and using 1 
memory above DOS for I/O enhancers. 

Number Smasher/ECM runs floating point bound pi 
grams fasterthan an AT or any other80286 based machii 
In fact, Number Smasher’s 12 MHz 8087 runs a factor 
three faster than the standard 80287 on the AT, delivering 
to 125 kflops. Software is included for RAM Disk, pi 
spooler, and disk caching, which speeds up floppy and he 
disks by a factor of 2 to 10! 

Number Smasher/ECM is the most cost effective pi 
ductivity tool you can buy. The base board which runs 
9.54 MHz comes with 512K and costs only $599! The co 
plete system which includes a motherboard accelerator, o 
megabyte of memory and a 12 M Hz 8087 is just $1199. C 
today to discuss your particular configuration. Rememb 
“The advantage of buying from Micro Way is outstanding p 
sonal service.” (PC Magazine, 6/10/86 - p. 162) 


The World Leadenn 8087_ Suppc 

P.O. Box 79, Kingston, Mass. 02364 USA (617) 746-73 
32 High St., Kingston-Upon-Thames, U.K., 01 -541 -54t 
'ks of MicroWay, Inc. MicroWay is a registered trademark of MicroWay, 
SERVICE CARD 








Clipper is the fastest dBase III and 
dBase III Plus™ compiler available. 
Nothing else comes close. When 
performance counts, experts rely 
on Clipper for more speed, more 
power, and more creative freedom. 
You can, too. Call for details. 

• Clipper compiled programs 
run 2 to 20 times faster 

• No royalties.,.no runtime fees . 

• Source code security, 

• User defined functions. 

• Arrays. 

• Simple menu commands. 

• Context sensitive help can be 
included with programs. 

• More fields; more memory 
variables. 

• Call C and Assembly programs. 

•Complete debugging facilities. 

• Multiple file relationships. 

•IBM PC , XT, AT, 3270 
compatible™ 

• Multi-user capability . 






**» *i;iM 

—wmrrr | 

a* m T 


w* * V h*Jei 

"?w «SL* i 

*'• ^ir^-| m ja 


CLIPPER. THE dBASE COMPILER. 

A WINNING PERFORMANCE EVERY TIME. 


Nantucket™ 

Nantucket Corporation 
5995 South Sepulveda Boulevard 
Culver City, California 90230 
(213) 390-7923 

Outside California call toll-free: 
1-800-251-8438 

dBase, dBase III, and dBase III Plus are trademarks 
of Ashton-Tate, Inc. 

IBM PC, XT, AT, and 3270 are trademarks 
of International Business Machines Corporation. 
Clipper and Nantucket are trademarks 
of Nantucket Corporation. 


CIRCLE NO. 224 ON READER SERVICE CARD 


LOOK FOR CLIPPER™ ^ 

Autumn 86 

IT MAKES NETWORKING EASY. 


SPEED INFUSION 


turns out to be the response time of the 
memory chips. However, some other 
chip, the DMA chip or interrupt control¬ 
ler, for example, may be the limiting 
factor. If speed is limited by memory, it 
might be practical to replace the entire 
complement of RAM chips with higher- 
speed chips. Note, however, that the 
first bank of memory is usually sol¬ 
dered to the motherboard. It is one 
thing to replace a single 8284 chip with 
a socket; it is quite another to do like¬ 
wise for eight additional chips. There¬ 
fore, except for the faster CPU they 
bring, most clock accelerators are de¬ 
signed to stay within the limits of the 
machine’s original components. 

The most obvious way to accom¬ 
plish this is to limit the new clock fre¬ 
quency to a rate acceptable to the slow¬ 
est component in the system. To do so 
and still manage to realize speed im¬ 
provement can be attributed to two fac¬ 
tors: first, components usually are speci¬ 
fied slightly faster than they need to be, 
and second, each component typically 
exceeds its specifications slightly. The 
additive effect of these factors can be 
sufficient to allow a 50-percent increase 
in the clock rate. The simpler clock ac¬ 
celerators, those providing circuitry not 
much more complex than that shown in 
figure 2, follow this approach. 

Another method of circumventing 
speed limitations is to provide hard¬ 
ware that slows the system down as re¬ 
quired, either by changing to a slower 
clock rate at critical times or by allow¬ 
ing more clock cycles for certain activi¬ 
ties. The latter involves the insertion of 
wait states —extra clock cycles—into the 
memory I/O cycle (see “The Bottleneck 
at the Display Adapter,” Michael Abrash, 
January 1987, p. 104). Wait states in AT- 
class machines are a hot topic, but the 
same considerations must be given the 
PC. The action and role of the wait state 
is tied to the manner in which data 
transfers occur between the CPU and 
memory or I/O ports. 

WAIT STATES 

In general terms, the time needed to 
transfer one unit of data to or from the 
CPU is called a bus cycle. In the 8088, 
the unit of data is one byte, and the 
minimum length of a bus cycle is four 
clock cycles. These cycles are desig¬ 
nated T1 through T4. Each cycle encom¬ 
passes specialized activities. 

During Tl, the CPU outputs a bus 
transfer request on its status lines and 
an address on its data/address lines. The 
status lines indicate the type of access, 
either to memory or to an I/O port, and 
whether it is to read or write. The bus 


controller saves the address in an ad¬ 
dress latch so that it is available during 
the remainder of the bus cycle. 

In T2, the CPU removes the ad¬ 
dress from the data/address lines and, 
for a write request, places the output 
data there. For a read request, the lines 
are disconnected from the CPU to make 
them available to the memory or I/O 
device that will supply the data. The use 
of the same lines for different informa¬ 
tion at different times is known as time 
multiplexing. This allows the complex 
signal requirements of the 8088 to be 


accommodated by a relatively compact 
40-pin package. Meanwhile, address de¬ 
coding circuits connect the data lines to 
the proper memory chips or I/O ports, 
and data transceivers establish the sig¬ 
nals that control the direction of the 
transfer (to or from the CPU). 

During T3, the memory or I/O 
device performs the actual transfer, 
while the CPU does nothing. In the last 
cycle, T4, the device disconnects itself 
from the data lines and disables all of 
its control signals, returning to a quies¬ 
cent state. For a read, the CPU recon- 


Lattice Works 


LATTICE ANNOUNCES 
MICROSOFT WINDOWS 
SUPPORT IN VERSION 3.2 

Version 3 -2 of the Lattice MS-DOS 
C Compiler features full support for 
Microsoft Windows—including the 
“far” “near” and “pascal” keywords. 

In addition, version 3.2 includes 
the ability to generate more than 64K 
bytes of static data and to declare 
objects larger than 64K bytes. It also 
includes improved support for ROM- 
based applications via the “const” 
data type. Version 3.2 is a significant 
release because it eliminates Micro¬ 
soft’s claimed monopoly on future 
MS-DOS C development tools. Now 
that the Lattice MS-DOS C Compiler 
supports a window interface, pro¬ 
grammers using Lattice C can avoid 
the problems caused by switching 
to a different compiler. $500.00 


LATTICE NOW OFFERS 
ENHANCED AmigaDOS 
C COMPILER 

Version 31 of the Lattice 
AmigaDOS C Compiler offers a new 
library with 100 more functions 
than the standard AmigaDOS C 
Compiler. What’s more, increased 
library modularity and new address¬ 
ing modes help reduce load module 
sizes by more than 20%. The new 
version also features faster pointer 
and integer math, faster IEEE floating 
point routines, direct support of the 



Lattice 

(800)533-3577 In Illinois (312) 858-7950 


Amiga’s FFP format floating point 
library, and multi-tasking support. 

With Version 3.1, Lattice has 
broken free of the reliance on the 
Amiga standard linker and object 
file format. This new release includes 
completely new expanded documen¬ 
tation, and a Lattice assembler and 
linker which remain compatible 
with previous software but allows 
professional programmers to take 
advantage of both the Amiga’s speed 
and the industry’s standardization. 

Lattice AmigaDOS C Compiler with 
Lattice’s Text Management Utilities, 
$225. Professional AmigaDOS C 
Compiler with, Text Management 
Utilities, Lattice Make Utility, Lattice 
Screen Editor, and the Metadigm 
MetaScope Debugger, $375. 
AmigaDOS C Compiler $150. 

LATTICE RELEASES NEW 
VERSIONS OF C CROSS 
COMPILER AND LINKER 

Version 31 of the Lattice C Cross 
Compiler to MS-DOS and version 
2.12 of the Plink86Plus Overlay 
Linker are now available for Sun and 
Apollo workstations as well as the 
DEC VAX Family of processors run¬ 
ning VMS, UNIX or Berkeley UNIX. 

All Lattice C Cross Compilers 
possess the same functionality and 
generate the same code as the native 
Lattice MS-DOS C Compiler. This 
allows users to take advantage of the 
larger systems’ speed and multi-user 
capabilities when creating applica¬ 
tions for most popular PCs. 

Contact Lattice Corporate Sales 
for details. 


TELEX 532253 FAX (312) 858-8473 


INTERNATIONAL SALES OFFICES: Benelux: Ines Datacom (32)2-720-51-61 
Japan: Lifeboat, Inc. (03)293-4711 England: Roundhill (0672)54675 
France: Echosoft (1)4824.54.04 Germany: Pfotenhaur (49)7841/5058 
Hong Kong: Prima 85258442525 A,I. Soft Korea, Inc. (02)7836372 
Australia: FMS (03) 699-9899 Italy: Lifeboat Associates Italia (02) 46.46.01 

CIRCLE NO. 160 ON READER SERVICE CARD 


FEBRUARY 1987 


133 










SPEED INFUSION 


At last! - Fast, On-screen 

FLOWCHARTS 


Finally! An on-screen flowchart proc¬ 
essor that knows about flowcharts - not 
just another “screen draw” program that 
makes you do most of the work. 

Interactive EasyFlow is a powerful 
full-screen graphics program dedicated 
to flowcharts and organization charts. 
With this program you can quickly com¬ 
pose charts on the screen. More im¬ 
portant, you can easily modify charts so 
they are always up to date. 

Features: • Text is automatically 
centered, character by character, within 
shapes as you type it • Text formatting 
controls allow you to over-ride the auto¬ 
matic formating where desired • Lines 
are created by specifying the starting 
and ending points - the program auto¬ 
matically generates the route • Cut and 
paste facility allows arbitrary chart 
fragments to be moved, copied rotated, 
reflected or sent to/from disk • Shape 
insert-delete and row/column insert- 
delete • Charts can be up to 417 
characters wide by 225 lines high. 
Charts too wide for the printer are auto¬ 
matically printed in strips. • Charts can 
be larger than the screen - the window 
into the chart scrolls both horizontally 
and vertically as necessary • Works 
with many popular matrix printers in¬ 
cluding Epson, IBM graphics printer and 
compatibles. Full support for HP 
LaserJet and LaserJet Plus. Works with 


HP 7475A (& compatible) plotters. Can 
be used with ANY printer when non¬ 
graphic (character) output is acceptable 
• All standard flowcharting shapes in¬ 
cluded • Most shapes supplied in large, 
medium and small sizes • Extensive 
manual (100+ pages) includes many 
examples • Context sensitive “help” 
facility provides immediate assistance at 
any time • Any number of titles can be 
placed on a chart • Commentary text 
blocks can be placed anywhere in the 
chart • Fast: written in assembly lan¬ 
guage • Plus many more features than 
we can mention here 

Requires at least 320K memory, DOS-2 
or higher and an IBM or Hercules com¬ 
patible graphics card. On EGA, full 
640x350 resolution is used. 

Order direct for only $149.95 + $2.00 
S&H (USA/Canada), $10.00 (foreign). 
Payment by MO, check, VISA, 
MasterCard, COD or Company PO. 
Rush orders accepted ($15.00 S&H; 
USA/Canada only). Rush orders re¬ 
ceived by noon will be delivered the next 
business day (to most locations). 

Order Desk: 1-800-267-0668 

The sample screen display shown below is typical of 
what you see while editing a chart. Other screen dis¬ 
plays are provided for entering titles, changing 
options, getting “help” and so on. 


STATUS BAR (not to be 
confused with a wet bar) tells 
you what Interactive EasyFlow 
is doing at all times. 


TEXT/MESSAGE 
WINDOW used to enter 
user text and to display 
messages from Interactive 
EasyFlow. 


CURRENT SHAPE 
WINDOW - shows the 
content of the current 
flowchart shape (the one 
under the SHAPE 
CURSOR) in complete 
detail. 


HavenTree Software Limited 

P.O. Box 1093-N 

Thousand Island Park, NY 13692 
Information: (613)544-6035 ext 48 


CHART WINDOW gives an overview of your chart; this 
example shows the “normal” view. “Close-up” view shows a 
smaller part of the chart in more detail. “Wide-angle” view 
shows a larger part of the chart at reduced size. 



SHAPE CURSOR shows where you are in 
the chart. Cursor keys move it around; chart 
window scrolls if you run off the edge of the 
window. 


CIRCLE NO. 113 ON READER SERVICE CARD 


nects itself to the data lines and then 
can use the data it finds there. 

This four-step process represents a 
minimum bus cycle with zero wait 
states. Nominally, the time for transfer¬ 
ring data to or from devices is one 
clock cycle; at 4.77 MHz, that time is 
210 ns. By no coincidence, the memory 
chips in the PC have a cycle time of 200 
ns. Actually, the time available for the 
transfer is a little longer, because an ad¬ 
dressed memory chip becomes active 
towards the end of T2 and need not 
complete the transfer until sometime af¬ 
ter the start of T4. (Early PCs worked 
fine with 250-ns chips; the switch to 
200-ns devices was not made out of ne¬ 
cessity, but because of the increasing 
availability of the faster chips. For simi¬ 
lar reasons, the latest models have the 
readily available 150-ns chips.) 

If a memory chip or I/O port can¬ 
not respond quickly enough to transmit 
data in the one-and-a-fraction clock cy¬ 
cles, it can be designed to insert wait 
states between T3 and T4. The mecha¬ 
nism used to insert these is the READY 
line of the CPU. During a bus cycle, the 
CPU does not enter state T4 unless 
READY is high. When a slow device is 
selected by the address decoding logic 
at T2, it immediately drops READY to 
low. The signal is fed to the 8088 
through the 8284 to synchronize transi¬ 
tions in the READY line with clock cy¬ 
cles. READY has no effect on T3, but 
thereafter, the CPU will remain idle— 
that is, in a wait state—for each clock 
cycle that READY remains low. After 
some predetermined number of clock 
cycles passes—sufficient to complete 
the data transfer—the device raises 
READY high, allowing the processor to 
advance to T4 to complete the bus cy¬ 
cle. Figure 3 is a simplified timing dia¬ 
gram for two bus cycles, one with zero 
wait states, the other with two. 

The PC was designed with zero 
wait states for memory access and one 
wait state for I/O port access. This one 
wait state is inserted without regard for 
the speed of the device being ad¬ 
dressed because an I/O access cannot 
be completed in less than five clock cy¬ 
cles (1,050 ns at 4.77 MHz). However, a 
slow device can insert additional wait 
states if necessary. Similarly, a memory 
expansion board can be designed to in¬ 
sert a wait state whenever memory on 
that board is accessed. None of the reg¬ 
ular boards is designed this way, al¬ 
though some expanded memory boards 
do insert wait states. 

By comparison, the bus cycle of an 
80286 is two clock cycles, but a stan¬ 
dard AT inserts one wait state into each 


134 


PC TECH JOURNAL 




















ALTERNATIVES TO THE BIG RED SWITCH 


The hardware design of the IBM PC 
omits one feature that typically is part 
of every computer: a reset button. The 
big red switch at the right rear is not 
an appropriate alternate, for reasons 
quite apart from its inconvenient loca¬ 
tion. It takes 10 to 15 seconds after 
being switched off for the power sup¬ 
ply to bring its output to zero volts 
before the system will restart. More 
importantly, power-downs and power- 
ups put undue strain on the electronic 
and mechanical components, espe¬ 
cially hard disks. The Ctrl-Alt-Del key¬ 
board combination is not adequate 
because, as every PC user knows, it 
fails at times when a reset is most nec¬ 
essary—to resurrect a crashed system. 

Many PC clock accelerators rectify 
this situation by providing a hardware 
reset switch. The reset is associated 
with the clock circuitry because the 
8088 reset signal is controlled by the 
8284 clock generator in order to 
synchronize it with the processor 
clock: the 8088 needs to be at a pre¬ 
dictable point within a clock cycle 
when it is interrupted and restarted. 
Ordinarily, the “power good” signal 
from the PC power supply is tied to 
the 8088’s reset line, making a power¬ 
down/power-up cycle the only way to 
initiate a hardware reset on the PC. As 
shown in figure 2 of the article, the 
rerouting of the 8284 inputs and out¬ 
puts in the accelerator circuit allows 
rerouting of the 8284’s reset line 
(RES) to a switch that performs a 
hardware reset (cold boot) without 
powering down the system. 

The operation of the reset signal 
itself is handled carefully within the 
PC. The 8088 operates only while the 
reset line is low (at logic level 0); 
when reset goes high, the processor 
stops. On a high-to-low transition of 
reset, the CS (code segment) register 
is loaded with FFFFH, all the other 
registers and flags are cleared to zero, 
and execution is resumed. The next 
instruction is fetched from the address 
pointed to by the CS:IP register pair, 
thus causing a jump to location 
FFFF:0H. In the PC, that location is in 
ROM and contains a jump to the ROM 
POST (power-on self-test) routine. 

In a stock PC, the 8284 reset in¬ 
put is connected only to the power- 
good signal from the power supply. At 
power-up, this signal is initially high 
and is pulled low by the power supply 
when its output comes up to specifica¬ 


tion. This causes the processor to be¬ 
gin executing the POST as soon as the 
power supply has stabilized. If the 
power should fall outside of specifica¬ 
tion during operation, the reset line 
goes high, stopping the system. When 
and if power is restored, the line 
again goes low as on power-up. Thus, 
a power supply with intermittently 
failing regulation circuits can cause 
spontaneous reboots. 

The keyboard reset is handled 
entirely by software, not by switching 
the hardware reset line. The BIOS 
routine that responds to keyboard in¬ 
terrupts, when it detects this particular 
combination, executes a jump to the 
beginning of the POST routine. Before 
doing so, it sets a flag in the BIOS 
data area; during POST, the value of 
this flag determines whether a short 
or long memory test is performed. If 
the machine was just turned on, the 
flag will not have the value (1234H) 
set by the keyboard routine, and a 
long memory test is executed. 

In most cases, the keyboard reset 
has the same effect as a hardware re¬ 
set, except when the system has 
crashed, meaning that the processor 
has turned off interrupts and is stuck 
executing some infinite loop. At such 
times, keyboard input is unrecognized 
because the keyboard interrupt ser¬ 
vice routine has no way to gain con¬ 
trol, examine, or respond to the sig¬ 
nals sent by the keyboard controller. 

But even when a system is up 
and running, other situations can hin¬ 
der a keyboard from producing a re¬ 
set. The BIOS keyboard routine may 
have been replaced by another pro¬ 
gram installed as a device driver or a 
resident utility, and this new program 
might take some action other than re¬ 
set upon detecting the Ctrl-Alt-Del 
combination. For example, under 
DESQview (by Quarterdeck Office 
Systems), a keyboard reset closes only 
the current window and does nothing 
if no windows are open. Other resi¬ 
dent programs that perform nonstan¬ 
dard functions with Ctrl-Alt-Del can 
reassign the reset function to some 
other combination of keys. 

A final subtle difference between 
hardware and keyboard resets is that 
at the start of the latter, interrupts are 
not disabled. A hardware reset, by 
contrast, zeroes out all flags, including 
the interrupt-enable flag. This is essen¬ 
tial at power-up, so that interrupts are 


held off until the interrupt vector ta¬ 
ble is initialized and the interrupt ser¬ 
vice routines are loaded. It is possible, 
if not probable, that between the time 
Ctrl-Alt-Del is recognized and the 
POST gains control (it begins with an 
instruction to disable interrupts), a 
hardware interrupt diverts control for 
some finite time. Even if control even¬ 
tually reaches the POST, the point is 
that the response time to a keyboard 
reset cannot be guaranteed. 

A hardware reset switch thus of¬ 
fers the best of all worlds: it is guaran¬ 
teed to work predictably in all situa¬ 
tions short of physical failure in the 
circuits, and it avoids the stresses of 
powering up. But does the switch pro¬ 
duce a short reboot, like a keyboard 
reset does, or a long one, such as at 
power-up? The POST performs short 
or long diagnostics depending upon 
the value it finds in the BIOS reset 
flag; at the end of POST, the value is 
not changed. Therefore, if the reset 
switch is pressed after a keyboard re¬ 
set, the POST finds the keyboard reset 
value in the flag and performs a short 
test sequence. If the previous POST 
was a long one initiated by power-on, 
the next one caused by pressing the 
reset switch will take just as long. 

To ensure that the reset switch al¬ 
ways performs a short reboot, the re¬ 
set flag can be set to the proper value 
upon boot-up by a program from the 
AUTOEXEC.BAT file. SET1234.COM is 
created with DEBUG as follows: 

DEBUG SET1234.COM 

(Ignore “not found”) 
A 

MOV AX,40 
MOV DS, AX 

MOV WORD PTR [72],1234 
INT 20 

(Press Return) 

R CX 

D 

W 

Q 

Alternatively, the flag may be set by 
running the following BASIC program: 

10 DEF SEG = &H40 : POKE &H72,&H1234 

Thus, the reset function provided 
by clock accelerators is a welcome 
fringe benefit to their primary func¬ 
tion. After using one of these, it is 
even more frustrating than usual to 
have to reach for that big red switch. 

—Ted Mirecki 


FEBRUARY 1987 


135 









SPEED INFUSION 


TABLE 1: Features Comparison 



AMERICAN 

COMPUTER 

MAYNARD 

ELECTRONICS 

MEGAHERTZ 

CORPORATION 

MICROSPEED 

MICROSYNC 

MICROWAY 

MODEL 

American 

Turbo 

Surprise! 

TurboSwitch 

Fast88 

Screamer 

87/88 Turbo 

PRICE 

$120.00 

$249.00 

$149.95 

$149.00 

$199.00 

$149.00 

MICROPROCESSOR 

8088-2 

V20 

8088-2 

8088-2 

V20 

V20 

CLOCK SPEEDS (MHz) 
SPEED CHANGE BY 

7.37 

9.55 

5.96 to 8.79 

6.14, 6.67, 7.37 

6.00, 8.00 

6.67, 7.37, 8.00 

Switch 

• 

O 

• 

• 

O' 

• 

Hot key 

O 

• 

O 

O 

• 

• 

Program 

O 

• 

O 

O 

• 

• 

RESET SWITCH 

• 

6 

• 

• 

o 

• 

CLOCK/CALENDAR 

o 

o 

o 

o 

• 

• 

TAKES UP A SLOT 

o 

o 

o 

o 

• 

• 

I/O PORTS USED 

• = Yes O = No 

None 

2E8H-2EFH 

2C8H-2CFH 

None 

None 

2C0H-2C2H 

280H-288H 

2A0H-2A4H 


While many of the PC compatibles with fully socketed memory can be made to run at speeds up to 8 Mhz, the original IBM PC 
contains at least one soldered row of slower memory chips and usually cannot be made to run faster than 6.5 or 7 MHz. At 
those speeds, the performance enhancement achieved is not always worth the expense and difficulty of installation. 


memory access and at least four wait 
states into I/O accesses. At 6 MHz, an 
I/O access takes 1,000 ns (6 clock cycles 
of 167 ns each), or about the same total 
time as an I/O cycle on a PC. This en¬ 
sures that PC peripherals are usable on 
the AT. (The issue of wait states in 
80286 memory bus cycles will be cov¬ 
ered in a subsequent article.) 

SWITCHING TO SPEED 

Varying the clock frequency and insert¬ 
ing wait states can be accomplished 
only by accelerator boards that contain 
more complicated circuitry than the 
simple clock replacement arrangement 
shown in figure 2. Of the six products 
tested here, only the Surprise! board is 
sufficiently intricate. The PC Turbo- 
Switch and the Screamer switch auto¬ 
matically to slower clock frequencies 
under certain circumstances. The others 
take their chances with the pushing of 
the PC’s components beyond specifica¬ 
tion. Most provide a choice of several 
clock speeds so that more capable ma¬ 
chines need not be limited to the low¬ 
est common denominator. 

Table 1 is a features comparison of 
the six boards reviewed. Each board 
was tested in two different systems. The 
first was an IBM PC-2 with 640KB of 
memory, a 2MB AST RAMpage! expand¬ 
ed memory board (384KB of this was 
back-filled conventional memory), two 
diskette drives, a Seagate ST225 20MB 
hard-disk drive with Xebec combination 
diskette/hard-disk controller, and an 
IBM CGA. Conventional memory con¬ 


sisted of a mixture of 200-ns and 150-ns 
chips; expanded memory was 256K-bit, 
150-ns chips. This system’s maximum 
clock rate was about 7 MHz; the rate 
was not improved by removing the ex¬ 
panded memory board. 

The second system tested was a 
PC/XT compatible with 8-MHz turbo ca¬ 
pability. On this system, the perform¬ 
ance delivered by the accelerator 
boards was less than that from switch¬ 
ing to its native 8-MHz mode; the pur¬ 
pose of using it was to test the boards 
above 7 MHz. This system also had 
640KB of memory (256K- and 64K-bit 
chips, all rated at 150 ns), the identical 
model of Seagate hard disk (but with a 
Western Digital controller), one diskette 
drive, an ATI EGA card, and the same 
2MB AST RAMpage! (but with no back¬ 
fill of system board memory). 

American Computer and Peripheral. The 
American Turbo is the smallest board in 
the group and the simplest in design. It 
comes with a replacement 8088 rated at 
8 MHz, a switch box containing a speed 
switch and reset button, and a DIP 
(dual in-line package) socket intended 
to be soldered onto the motherboard in 
case the 8284 is not already socketed. 
This component turns out to be indis- 
pensible even if the 8284 is removable. 

The board itself plugs into the 
socket vacated by the 8284 chip. Care 
must be taken to line up the pins on 
the underside of the board with the 
holes in the socket; even so, the pins 
are a tight fit. They would not enter the 
socket when pushed, even with an 


amount of force sufficient to put an 
alarming bend in the motherboard. 
Stressing a multilayer board in such a 
way can break a trace in one of the in¬ 
terior layers, which is enough to ruin 
the board. This is where the extra 
socket comes in handy. It is plugged 
onto the underside of the turbo board, 
and that assembly is plugged into the 
motherboard socket. Besides making in¬ 
sertion much easier, this yields the ad¬ 
ditional benefit of raising the Turbo 
board above the motherboard compo¬ 
nents adjacent to the 8284 socket, thus 
allowing unrestricted airflow for cool¬ 
ing. This use of the extra socket is not 
mentioned in the instructions. 

Once the board is mounted, the 
rest of the installation goes smoothly. 
The reset and speed switches are of 
good quality and mounted in a heavy- 
gauge, black metal box that bolts to the 
outside of the back panel next to the 
power switch. The cable connecting the 
switches to the board is keyed to pre¬ 
vent plugging it in backwards. 

A major disadvantage of the Ameri¬ 
can Turbo is that it has only one clock 
speed, 7.37 MHz. This is too fast for 
most 200-ns memory chips; in fact, the 
board would not work in the IBM sys¬ 
tem. The documentation plainly states 
that memory chips must be rated at 
least at 150 ns, and that, if used, an 
8087 numeric coprocessor must be 
rated at 8 MHz. But this information 
should be on the outside of the box. As 
it is, the only warning on the exterior is 
that installation requires the removal of 


136 


PC TECH JOURNAL 











Save 50% on PC TECH JOURNAL 

A nd Sharpen Your Visum on Technical Issues 


TECH 

JOURNAL 



13 times a year, PC TECH JOURNAL focuses on the technical 
what-if’s and how-to’s that face you every day in your job. Your 
subscription includes the PC TECH JOURNAL DIRECTORY 
issue, our 13th issue published in November, your reference to 
the articles and products covered in PC TECH JOURNAL! 

Yes! I want to subscribe to PC TECH JOURNAL for the term 
indicated: 

Name_ 


4S689 


I I One year (13 issues) only 
1 — 1 $26.70. 50% OFF the 
annual single-copy 
price of $53.35. 

I I Two years (26 issues) only 
— $53-35. SAVE 50%! 


Company. 

Address_ 

City_ 


State 


-Zip. 


□ Payment enclosed □ Bill me later 

FREE WITH YOUR PAID SUBSCRIPTION! The PC TECH 
JOURNAL DATA MANAGER REVIEW, a special report covering 
7 leading Data Managers, with benchmark tests and evaluations! 


Please allow up to 60 days for delivery of first issue. Add $8 per year for postage in Canada and all foreign countries. US. Currency only, basic 
annual subscription price is 134.97. 


















NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 66 BOULDER COLORADO 


POSTAGE WILL BE PAID BY ADDRESSEE 


TBSH 

OURNAL 

' P.O.BOX 52077 

BOULDER, CO 80321-2077 


...I 






IKE SOURCE 
FOR AH IBM 
PC EXPERTS. 

There's one place to 
find the information 
about the sophisti¬ 
cated applications 
and products you need 
at your work place. 

PC TECH JOURNAL 

It's the magazine 
that brings you the in- 
depth coverage 
about the products 
and issues you have 
to know more about 
13 times a year! 

Guarantee delivery 
of the technical infor¬ 
mation and insights 
the systems experts of 
PC TECH JOURNAL 
deliver issue after 
issue and save 50 %! 


: TBS"! P.O. Box 2996 
JOURNAL Boulder, CO 80322 

YES Send me PC TECH JOURNAL for: 

□ One year (13 issues) only 
$26.70. 

□ Two years for only $53.35. 

SAVE 50%! 

Savings based on annual single-copy price 
of $53.35. 

Mr./Mrs./Ms._ 

Company_ 

Address_ 


City _ 


_ State. 


Zip 


□ Bill me □ Payment enclosed 

Add $6 per year for postage outside USA, 
US currency only. Please allow up to 60 
days for delivery of first issue. 

Annual basic subscription price is $34.97. 

For faster service call Toll-Free 
1-800-852-5200 today! 

Your subscription includes the Special 
PC TECH JOURNAL Directory published 
in November! 4Z 62 


PROTECT 
YOUR COPIES 
OF 



OURNA 


Make your collection of PC TECH 
JOURNAL a handsome addition 
to your office or home—and pro¬ 
tect and organize them for easy 
reference! 


PC Tech Journal Magazine 
Binders and cases are made of 
durable luxury-look leatherette 
over quality binder board. Custom 
designed for PC TECH JOURNAL, 
every order receives FREE transfer 
foil to mark dates and volume 
numbers. 

FOR FAST SERVICE CALL 
TOLL-FREE 1-800-972-5858 


MAGAZINE BINDERS 

Hold your 
issues on 
individual 
snap-on 
rods. $8.95 
each; 3 for 
$25.75; 6 for $48.75. 


OPEN BACK 
CASES 

Store your copies for 
individual reference. $795 
each; 3 for $22.95; 6 for $43.95, 



EH P.O. Box 5120 
OURNAL Philadelphia, PA 19141 

Please send □ Binders □ Cases Quantity_ 

Payment endosed $_* Add $1 per order for 

postage & handling. (Outside USA, add $2.50 per unit 
ordered, US currency only.) 

Charge my: 

□ Amex □ Visa □ MC (Minimum order $10.) 


Card No._ 


_Exp. Date_ 


Mr./Mrs./Ms._ 

Address_ 

City_ 


please print full m 


State_ 

*PA residents add 6% sales tax. 


-Zip- 


Read what they’re saying about 
this new concept in prototyping 
and demo-making: 

“A winner right out of the 
starting gate. After you use 
DEMO once, you’ll wonder how 
you got along without it.” 

— PC Magazine, 4/29/86 

“Everybody who writes 
software, either commercially 
or for in-house applications, 
should immediately order a 
copy. Period. No exceptions.” 

— Soft‘letter, 4/20/86 

“Its low price, superb 
performance, and range of 
applications practically 
guarantee that it will be widely 
used. Four Floppy Rating (8.0)” 

- InfoWorld, 3/31/86 

“Apparently has a hit on its 
hands with... a development 
tool for personal computer 
software that has won rave 
reviews from early users.” 

— Computerworld, 4/7/86 

“A gem.” 

— PC Week, 3/18/86 


Product of the Month 

— PC Tech Journal, 3/86 




Montn g* 


Thousands of developers are de¬ 
signing better products faster and 
producing more effective demon¬ 
strations using Dan Bricklin’s Demo 
Program. You can, too. Act now! 

■ ONLY $74.95 
S£ 617-332-2240 

Massachusetts residents add $3.75. Outside of the 
U.S.A. add $15.00. 

Requires 256k IBM PC/compatible, DOS 2.0 or 
later. Supports Monochrome, Color/graphics, and 
EGA Adaptors (text mode only). 



SOFTWARE 

GARDEN 

Dept. T-2 

P.O. Box 373, Newton Highlands, MA 02161 
CIRCLE 142 ON READER SERVICE CARD 


PC TECH JOURNAL 


137 





























AT performance 
atanXTprice. 



Introducing fheTeleCAT-286. 
$2995.Complete. 


With TeleVideo, you 
always settle for more. 

For some time, you've known exactly 
what kind of PC you could get with 
a mid-range budget. 

But now, you can settle for a whole 
lot more. With the new TeleCAT-286; 
from TeleVideo. 

It starts you off with everything you 
need. Including a high-resolution 
640x400 monitor. 512K RAM. 

A 20MB hard disk. A 1.2MB floppy. 
And an Intel 80286 CPU that runs 
at either 6 or 8 MHz. All standard. 


To make even better use of internal 
space, we socketed the TeleCAT-286 
for one MB of RAM, and also included 
serial and parallel ports on the 
motherboard. As a result, we can still 
give you three extra expansion slots. 

And we didn't stop there. We've also 
designed more ergonomic features 
into theTeleCAT-286. Including 
sculptured keycaps on a high-quality 
keyboard. LEDs right on top of the 
three critical locking keys, where 
they won't get covered up by over¬ 
lays. And a footprint that’s 28% 
smaller than the IBM AT's. So you get 


more of your desk back, too. 

There’s a lot more we could say 
about the TeleCAT-286. But it’s even 
better to get your hands on it. So 
call (800) TELECAT, Dept. 359, and 
we'll tell you where you can try one. 

The TeleCAT-286. Our 20MB 
version is S2995; 30MB, S3495. 

For high performance at a low 
price, don't settle for less. 

TfeleVideo 

Settle for more. 


TeleVideo Systems, Inc. 1170 Morse Avenue, Sunnyvale, CA 94088-3568 (408) 745-7760 

IBM is a registered trademark of International Business Machines, Inc. © 1986 TeleVideo Systems, Inc. 

CIRCLE NO. 182 ON READER SERVICE CARD 









SPEED INFUSION 


the 8284 chip. True enough, but not a 
complete indication of the require¬ 
ments for successful operation. 

The results obtained with the 
American Turbo are consistent with its 
clock rate. The reset switch performed 
reliably, permitting the speed to be 
switched between high and normal at 
any time. The speed at boot-up can be 
set at either high or low using the 
turbo switch on the black box. 

For the most part, the installation 
instructions are clear. The 20-page man¬ 
ual contains many diagrams and photo¬ 
graphs, but its presentation is marred 
by numerous typographical errors that 
are present. Furthermore, the documen¬ 
tation is missing any mention of the 
company’s address or telephone num¬ 
ber (the simple fact that it should be 
there aside, American Computer and 
Peripheral offers a service to desolder 
the 8284 and install it in a socket). 

The American Turbo leaves a 
mixed impression. In systems that can 
run at its one speed, it works fine. But 
with other boards offering multiple 
speeds at similar prices, little is left to 
recommend this one. 

Maynard Electronics. The Surprise! board 
offers the easiest installation of the 
group. Following removal of the 8088, a 
special carrier is plugged into the mi¬ 
croprocessor socket. This carrier is eas¬ 
ier to install than a replacement chip 
because its pins are sturdier and al¬ 
ready at the proper spacing. In addition, 
it is symmetrical, for installation in ei¬ 
ther direction. Once in, the carrier 
turns the processor socket into a short 
slot with 40 pins instead of 62. The Sur¬ 
prise! then plugs into this slot like an 
expansion card (but in one direction 
only). This ease of installation comes at 
a price, however; the Surprise! falls at 
the top end of the price scale and at the 
bottom end of the performance scale 
among these competitors. 

The Surprise! board incorporates a 
V20 that, strangely, is soldered, not 
socketed. The processor runs at 9.54 
MHz, or exactly twice the normal rate. 
This speed is obtained by a frequency¬ 
doubling circuit that takes its input 
from the original 4.77-MHz processor 
clock. However, only the supplied mi¬ 
croprocessor can run at this speed. To 
synchronize it with the slower mother¬ 
board components, the Surprise! adds 
two or three wait states per bus cycle. 
The net effect is about the same as that 
of a simple clock accelerator running at 
6 to 6.5 MHz—but the Surprise! costs 
twice as much as the others. 

The speed at boot-up is controlled 
by a jumper on the board. Subse¬ 


quently, speeds can be changed by run¬ 
ning a transient program, or, if the sup¬ 
plied SURPRISE.SYS device driver has 
been installed through CONFIG.SYS, via 
a hot-key combination. On a keyboard 
reset, the system reboots at the speed 
last in effect, not at the speed indicated 
by the jumper. Surprise! provides no 
hardware reset capability. 

SURPRISE.SYS can do more than 
simply switch speeds. It also improves 
the speed of several functions by re¬ 
placing some DOS routines. Its effect is 
especially noticeable in writing to a 


CGA screen; and display-bound func¬ 
tions, such as the DOS DIR command, 
are remarkably faster. Its impact on 
compute-bound programs or programs 
that bypass DOS is barely discernable. 

This driver effects these changes by 
repointing both the interrupt 20H (pro¬ 
gram terminate) and interrupt 21H 
(DOS function) vectors. Interrupt 20H 
normally points to IBMDOS.COM, and 
is interrogated by many programs to 
determine the segment location of 
DOS. With SURPRISE.SYS installed, 
these programs will cease to work. 


Do You Ever Get the Feeling 
That No One Speaks Your Language? 

Arity/Prolog. 

The Language That Spans the Generation Gap. 

Arity listens to what you ask for. You want a serious, versatile 
language that will go the distance for you. There are two very 
good reasons for you to use Prolog —to do your work smarter 
and faster. That's exactly what the Arity/Prolog development 
environment will help you do. Our powerful tools, based on 
the general purpose programming language Prolog, will signif¬ 
icantly reduce your development time and allow you to solve a 
wide range of application problems. 

No translation required Our development environment for 
the IBM PC family and am MS-DOS compatibles includes the 
Arity/Prolog Compiler and Interpreter, the Arity/Expert Sys¬ 
tem, and Arity/SQL. And you can tie them all together. You 
can interface with several other programming languages and 
build extensions to your existing applications. You'll be truly 
multilingual —what better way to span the generation gap? 

i r 

It can take you to new places You'll discover amazing speed, 
power, and flexibility using the Arity/Prolog programming 
environment, with its one gigabyte of virtual memory and 
fast, compact compiled code, for conventional applications. 
And if you're working in new territories, like expert systems or 
sophisticated database management systems, you'll be speak¬ 
ing the native tongue. 

Speak it freely Our products are not copy protected and we 
charge no royalties, so you can use them in as many end-user 
applications as you'd like. Why keep the language of solutions 
all to yourself? 

Join the thousands of assembly and C programmers who 
already use Arity/Prolog — the language of solutions. 

Call 1-800-PC-ARITY Today. 

Masschusetts residents call 617-371-1243. 



Software that roars. 


ARITY CORPORATION 

30 Domino Drive, Concord, MA 01742 U.S.A. 

1-800-722-7489 or in Massachusetts call 617-371-1243 


CIRCLE NO. 136 ON READER SERVICE CARD 


FEBRUARY 1987 


139 











SPEED INFUSION 


NEW AND IMPROVED 


Version 2 

DlfaDATa 


The 
Only 
Disassembler 
That 
Tracks 
Down 
DATA! 




9 


• Fully disassembles both .EXE 
and .COM files! 

• Flow- and Seg. Reg. Data-trace 
finds SEGs, PROCs, & Data 
Areas! 

• Outputs SEGMENT & PROC 
pseudo-ops at proper places. 

• Outputs data areas via proper 
form of DB/DW (ASCII text as 
strings, others as hex value). 

• Labels both code & data. Labels 
of form ‘Hxxxxx’ where ‘xxxxx’ is 
hex offset from beginning of 
program. 

NEW! ~ 

• User may easily input locations 
of multiple pgm. areas (if reqd.). 

• 8086/88/186/286 op-codes, 

(VeaT addressing mode). 

• DOS function calls commented 
to show operation performed. 

• Output format fully compatible 
with IBMVMicrosoft** 
assembler input. 

• For IBM* PC*/XT*/AT* & com¬ 
patibles, 128K+, DOS 2.0+. 

#8634-22 PC-DISnDATa 2.0 
( 5 V 4 " disk & manual) . $165 

U.S. Funds only, drawn on a U.S. bank. 

Add $3 shipping (U.S. & Canada), $10 
(overseas air) per item. Ohio residents 
please add local sales tax. 

•Registered trademark. IBM Corporation. 

**Registered trademark, Mic rosoft Corp. 

To order, phone (513) 435-4480 (M-F, 

9a.m.-5p.m., EST), or send check, money 
order, or VISA/MasterCard information 
(name, street address (No P.O. box please) 
card number, expiration date, and your 
telephone number) to: 

PRO/AM SOFTWARE 

I 220 Cardigan Road 
| Centerville, OH 45459 

(513) 435-4480 



Software 


Professional Software for 
both Novice and Expert 


One reason for knowing the DOS 
segment is to find the print echo 
switch, which is toggled by Ctrl-PrtSc 
and Ctrl-P. SURPRISE.SYS seems to lose 
track of this switch, causing print echo 
to behave erratically. Print echo can be 
turned on at either clock speed, but it 
can be turned off only at slow; once 
turned on (at either speed), it remains 
on at high speed at all times. (The May¬ 
nard technical support personnel ac¬ 
knowledged only that printing does not 
work properly at high speed because of 
“timing loops” within the print control 
routines. It was suggested that the user 
switch to low speed whenever print 
echo is desired. No problem occurred 
with printing itself at high speed, only 
with recognizing when the DOS print 
echo switch had been turned off.) 

Another problem with the Surprise! 
is that it fails to recognize an 8087. The 
documentation states that the Surprise! 
uses the 8087 at low speed, but not at 
high. In fact, with this board installed, 
Lotus 1-2-3, Microsoft C, and Lattice C 
all refused to acknowledge the pres¬ 
ence of the 8087 at any speed. 

Surprisingly, Maynard claims that in 
many applications (spreadsheets specifi¬ 
cally), a V20 running at 10 MHz can out¬ 
perform an 8087 running at 5. This is 
patently untrue because it implies that 
hardware floating-point operations on 
the 8087 are less than twice as fast as 
software simulation on an 8088 or V20. 
Typically, the performance ratio at 
equal clock speeds is between 4:1 and 
10:1. In the testing that was performed 
for this review, a system with a V20 and 
8087 running at 4.77 MHz calculated a 
1-2-3 spreadsheet about twice as fast as 
the Surprise! did at 9.34 MHz. Achieving 
half the execution time at half the clock 
rate equates to an actual fourfold im¬ 
provement in the rate of computation 
with the use of an 8087. 

The documentation is fairly com¬ 
plete, but it comes in too many pieces: 
the installation instructions are on one 
sheet, technical information is on an¬ 
other, and these pieces are in addition 
to an assistance booklet, another outlin¬ 
ing Maynards customer service plan, 
and several sheets with the software li¬ 
cense agreement, registration cards, 
product comment forms, and so forth. 
One booklet is much preferable. 

Ease of installation notwithstanding, 
the Surprise! cannot be recommended 
because of its interface problems with 
DOS and the 8087. Even putting this 
aside, the board is overpriced for the 
performance improvement it offers. 
Megahertz Corporation. The TurboSwitch 
board provides not just two or three 


higher speeds, but ten, controlled by a 
rotary switch that mounts on the front 
panel of the system unit. This permits 
running the system very close to its 
maximum speed and changing the 
speed without reinstalling the Turbo- 
Switch. As enticing as this may sound, 
the problems that arise in the installa¬ 
tion and operation of this board may 
outweigh the advantages of not wasting 
some minor portion of speed capability. 

This board’s installation is far more 
complicated than any of the others. 

First, the 8088 is unplugged and re¬ 
placed with a supplied 8-MHz 8088-2. 
Then, the 8284 chip is removed from 
the motherboard and plugged into a 
socket on the TurboSwitch board (each 
of the other accelerators has its own 
8284). A ribbon cable connects the 
TurboSwitch and the 8284 socket. Only 
one end of the cable is marked to pre¬ 
vent its being plugged in backwards; 
the orientation of the other end is spec¬ 
ified only in the instructions. (In this 
particular case, experience with con¬ 
necting PCB components is not a help, 
because the cable is installed contrary 
to the standard conventions: the striped 
edge does not connect to pin 1.) 

Apart from that quirk, the installa¬ 
tion thus far is quite ordinary. At this 
point, however, one of the power con¬ 
nectors from the power supply must be 
removed from the motherboard and 
plugged into a receptacle on the Turbo¬ 
Switch board; a short cable then con¬ 
nects from the TurboSwitch to the 
motherboard power connector. Next, 
the A: drive must be unmounted and 
slid forward to reveal the direct mem¬ 
ory access (DMA) chip on the mother¬ 
board. A spring-loaded grabber clip (of 
the type used on the end of test instru¬ 
ment probes) is connected to one of 
the pins of the DMA chip; then the disk 
drive must be slid back into place with¬ 
out dislodging this connection. The 
TurboSwitch board is mounted by a 
clip to the back panel, hanging above 
the 8088 and 8087 sockets. 

That is the easy version of the in¬ 
stallation. For a system with a soldered 
8284, five more clip-on connections 
must be made to various points on the 
motherboard. Worse, the documenta¬ 
tion for this is literally sketchy, showing 
line drawings only of the chips, not 
their names. Also note that owners of 
compatibles with different component 
layouts are simply out of luck. 

Hooking leads onto chip pins is 
certainly less expensive than paying a 
serviceman to mount a socket, but the 
added reliability of the latter approach 
could be worth the extra expense. In 


CIRCLE NO. 252 ON READER SERVICE CARD 


PC TECH JOURNAL 















Give your system some 




Tree Structured Directory 


Global Directory Face 




Menu^Onl^ace 


IdirPlus is the most powerful 
and customizable file 
management and menuing 
system available. 


File management 


"Right Out of the Box" it 

provides the tools to organize and 
manage hard disk files beyond the 
limitations of DOS and other 
system utilities. Th e ldir Plus 
Command Library includes all 
the "standard" DOS com¬ 
mands, plus others, (like Tree, 
Move & Locate), that make life 
managing files even easier. The 
Global Directory enables 
operations, like erasing all the 
BAK files, across the entire hard 
disk with a single command. The 
system also includes a multi-mode 
View/ Editor that you can use to 
view or edit any type of file - 
(ASCII, Extended ASCII, and 
HEX). 


With "WONDER" PLUS 


Menuing Made Easy 


The Menuing System provides 
an easy way to set up custom 
commands and menus to run 
programs and applications. 

Develop on line Help for any and 
all new commands created. 


Beyond Menuing 


further customizing features 
include: 

The ability to select from 8 
optional screen displays, 
ranging from the simple to the 
sophisticated, for the novice to the 
expert. Specify one as the default 
without compromizing the ability to 
change to any of the others at 
anytime, when the need arises. 

We call these the "Faces of ldir 
Plus." 


■The ability f w to tailor 
each and ^ every 

directory to display only 

the desired files, sorted the way 
you want. You can even use a date 
range to display only the files that 
have been changed within the 
specified period. We call these 
"Directory Personalities." In 
addition, you have the ability to 
specify a different Menu and or 
Face to be displayed, when you 
change into a directory that has a 
"Personality." 


Corporate Notes 


ldir Plus provides the perfect 
environment for PC Managers 
setting up systems for a wide 
variety of users, ldir Plus is 
also a perfect shell for Networks 
where different users require 
different configurations. System 
also includes Password 
Protection. Inquire about site 
licensing options. 





Suggested Retail Price :$119.00 Dealer & Corporate Evaluation P.O. Box 2867 Boise, ID.83701 

Ask your Dealer About Special Pricing units available On written request. (208) 342-5849 

CIRCLE 124 ON READER SERVICE CARD 















































































































SPEED INFUSION 



We’ve seen a lot of 
Pascals, but this one takes 
the blue ribbon. Produces 
code smaller and faster 
than optimized C 
compilers. ISO- 
compatible. Supports the 
8087 in-line (8087 code 
emulation option if you 
don’t have the chip). True 
relocatable linker allows 
access to the Microsoft 
family of languages and 
assemblers. Four memory 
models. Overlays. 
Variable-length strings. 
Structured constants and 
structured function values. 
Separate compilation of 
modules. Procedural 
parameters. Powerful 
compile options 
(optimization by-pass for 
quicker compiles, syntax 
evaluator, I/O “fine 
tuning”, etc.). Turbo 
Pascal Translator brings 
your present Borland 
programs over to a 
ISO/Marshal-readable 
format. Watch the 
difference it’ll make in 
your software’s code size 
and speed! 

Suggested retail is $189.00. 

Our price is $159.00. 

FREE OFFER! ABC 
WRITER, a powerful 
WordStar clone with full 
Print/Merge capabilities 
FREE with each copy of 
Marshal Pascal! Only 
while supply lasts. 

Call (415) 930-9848-Ask 
for our free catalog of 
other software. 

INNOVATION 

COMPUTERS 

223 Donegal Way 
Martinez, CA 94523 

Turbo Pascal is a trademark of Borland 
International. 

WordStar is a trademark of MicroPro Inc. 
Microsoft is a trademark of Microsoft 
Corporation. 


the course of testing, the connections 
slipped off several times, crashing the 
system. Furthermore, one of the con¬ 
necting wires eventually broke off from 
its soldered connection on the Turbo- 
Switch board. Perhaps the test process 
subjected the connections to more pok¬ 
ing and prodding than would be done 
normally in a buttoned-up production 
system, but this scheme is definitely not 
recommended for a portable machine, 
or even for a desktop system that is 
moved from time to time. 

Yet, installation of this board is still 
not complete. The box containing the 
speed control and reset switches must 
be mounted to the front panel of the 
system unit cover using bolts through 
the vent slots under the nameplate. An¬ 
other ribbon cable, this one keyed at 
both ends, connects the switch and the 
board. With the switch on the cover, the 
board on the chassis, and the connect¬ 
ing cable on the inside, opening and 
closing the system unit can become 
somewhat complicated. 

The switch box contains a ten-posi¬ 
tion rotary selector for clock speeds 
marked from 6.1 to 9.0 MHz, and a tog¬ 
gle switch that chooses either the nor¬ 
mal speed of 4.77 MHz or whichever 
high speed is set on the selector. A 
third, spring-loaded position of the tog¬ 
gle switch provides a reset function. 
Boot-up may be accomplished at either 
normal or high speed. 

Despite the switch markings, run¬ 
ning a PC at 9 MHz is wishful thinking 
on two counts. First, no 8088-based IBM 
PC or compatible system is capable of 
that speed. Second, the markings on the 
TurboSwitch are somewhat optimistic; 
the clock rates measured with a fre¬ 
quency counter were lower by 3 to 6 
percent. The 9-MHz position actually 
produced a frequency of 8.7 MHz, but 
that is still too fast for either test sys¬ 
tem. The maximum speed possible with 
the IBM system was 7.06 MHz (position 
5, marked 7.5). The TurboSwitch could 
not be tested at higher speeds because 
it would not run at all in the XT-com¬ 
patible system—there it simply refused 
to boot at any setting. 

The TurboSwitch uses resistance 
capacitance (RC) circuits rather than 
quartz crystals to generate frequencies 
above 4.77 MHz. The reasoning behind 
this choice is obvious: ten crystals 
would be much more expensive. How¬ 
ever, it delivers less precise control and 
is more subject to failure than a crystal- 
controlled oscillator circuit. 

Using its connection to the DMA 
chip, the TurboSwitch board can detect 
disk I/O and reduce the system speed 


for the duration. Therefore, DOS 
FORMAT can be run without switching 
back to normal speed. Surprisingly, this 
board’s performance in the disk-inten¬ 
sive tests was not significantly better 
than that of boards that do not deceler¬ 
ate during disk access. 

The bottom line recommendation 
on the Megahertz TurboSwitch is not 
overwhelmingly positive. Although it 
has no fatal flaws, neither does it offer 
any operational advantages to compen¬ 
sate for the intricacies of installation or 
for the shortcuts in design. 

Microspeed. To put it simply, the design, 
execution performance, and documen¬ 
tation of the Fast88 is the best in this 
field of simple accelerator boards. It 
contains three crystals to run at speeds 
of 6.14, 6.67, and 7.37 MHz. The manual 
says these are meant for systems with 
memory chips rated at 250, 200, and 
150 ns, respectively. The choice is made 
at installation by means of a jumper. 
Another jumper enables or disables the 
reset button—this is the only board to 
carry such an option. 

Installation involves replacing the 
microprocessor with a supplied 8-MHz 
8088-2, removing the 8284, and con¬ 
necting a ribbon cable between its 
socket and the Fast88. The connectors 
are not keyed, but the cable is plainly 
marked and the instructions are more 
than adequate to avoid confusion. The 
board itself attaches with screws to the 
inside of the back panel, over the 
round knockout of a PC or the DB-25 
opening of an XT. The mounting 
bracket is cleverly designed so that a 
telephone-style modular jack on the 
board lines up with the opening. 

This jack accepts a short length of 
cable that connects with a small plastic 
box containing the speed switch and a 
reset button. The box may be left sitting 
on the desktop or attached to the sys¬ 
tem unit cover with double-sided adhe¬ 
sive tape, also supplied. The quick- 
connect Telco jacks at both ends of the 
cable will be appreciated both at instal¬ 
lation and subsequently whenever the 
system unit needs to be opened. 

The operation of the Fast88 was as 
smooth as the installation. As stated in 
the manual, the board could run no fas¬ 
ter than 6.67 MHz in the IBM system 
with 200-ns memory chips; it did run at 
7.37 MHz in the XT compatible (with 
150-ns chips). Speed switching and re¬ 
setting worked flawlessly every time. 

The Microspeed documentation 
also is first-rate material. An exhaustive, 
64-page booklet covers not only installa¬ 
tion, but also the design criteria and 
theory of operation. It even has an in- 


142 


PC TECH JOURNAL 







PROFESSIONAL INDUSTRIAL COMPUTERS 
LOW PRICED YET HIGH RELIABLE 

100% IBM compatible, Phoenix Bios 


Technical Data : Professional 286-10 
Intel 80286 Microprocessor 8/10 MHZ 

• Math coprocessor (80287) 

• Seven channel DMA 

• 16 level interrupt 

• System clock 

• Three programmable timers 

• 64 kB ROM 

• One MB RAM on board 

• CMOS RAM for system configeration 

• Real time clock 

• Battery backup for CMOSRAM 

• Eight slots 

• Two parallel printerports 

• One serial port 

• Floppy drive 1.2 MB 

• Rugged hard disk drive 20 MB/30MB 

• Enhanced graphics adapter 720 x 350/16 (64) colors 

• EGA compatible high resolution monitor 

• Membrane type keyboard IBM-AT compatible, 98 keys 





• Without floppy drive 

• With two floppy drives 

• 3.5 inch disk drives available 

• uninterruptable power supply 

• Bubble memory 

• Custom designed hardware add ons 

• Special analog preamplifiers 

• Power amplifier outputs 

• Telephone modem for service 

• LAN’s available 

• Air conditioning 


Runs with MS-DOS 3.1 or higher and can handle all software products available for PC/AT systems 


• Energy Management 

• Laboratory automation 

• Pressure Measurement 

• Flow Measurement 

• Level monitoring and control 

• Product testing 

• Data logging 

» Process Control 

• Servocontrol 

• Robotics 

• Chromatography 

• Signal Analysis 

• FFT 

• Vibration Analysis 

• Transient Analysis 

• Your special application 


12-bit to 14-bit AD/DA cards designed for industrial applications with 1/0 lines, 
frequency counters and individual preamplifiers per channel are available. 

KORROS-DATA delivers turnkey projects 


KORROS-DATA of America Inc 

797 San Antonio Road 

Palo Alto, CA 94303 

Tel. (415) 858 2866 

TLX 33-4959 APTECH PLA 


Circle No. 226 on Reader Service Card 

Registered Trademark: IBM-International Business Machines Corp. 



















SPEED INFUSION 


dex—an unheard-of luxury in instruc¬ 
tion manuals of this type. 

The Fast88 is a superior product, 
the choice by far in this field. The only 
possible improvement would be to sub¬ 
stitute a V20 processor for the 8088-2. 
But even as it was tested, the Fast88’s 
cost/performance ratio is the best, espe¬ 
cially if cost takes into account not only 
money, but also that other scarce 
resource, expansion slots. 

Microsync. The Screamer is a short-slot 
board that fits into an expansion slot. 
With this full access to the system bus, 


it can adapt itself better to the capabili¬ 
ties of the system and exert some con¬ 
trol over the system’s timing. A battery- 
backed clock/calendar is included, but 
unlike most devices that are used only 
to set the system clock at boot-up, this 
one plays a significant role in the 
board’s operation. Despite a complex 
and convoluted design, the Screamer 
turns in very ordinary results, and it has 
one very serious failing. 

Installation itself is fairly straight¬ 
forward. The board may be plugged 
into either of the two rightmost slots; a 



ADVANTAGE C+ + 

Brings the power of C+ + to your PC. 

• Opens the door to object-oriented programming 

• Allows programs with greater resilience, fewer bugs 

• Fully compatible with existing C programs 

• All the benefits of C without its limitations 

ADVANTAGE Link 

Everything you've always wanted in a PC-DOS linker. 

• The fastest, most powerful PC-DOS linker available 

• The first linker to take full advantage of extended memory 

• Accepts Microsoft and Phoenix command files 

• Supports up to 53 commands—more than any other linker 

• Compatible with Microsoft CodeView 

ADVANTAGE LIBRARY SERIES 

TimeSlicer 

Multi-tasking library streamlines C programming. 

• Perform concurrent tasks and real-time event processing 

• Includes higher files for both C and assembly language and 
example programs with source code 

• Compatible with C++ and object-oriented programming 

• Critical resource management assured 

To order or to obtain complete specification sheets, call: 

1-800-847-7078 In NY: 914-332-1875 

55 South Broadway 
Tarrytown, NY 10591 


UEEDQAT 

The Full-Service Source for Programming Software. 


CIRCLE NO. 173 ON READER SERVICE CARD 


switch must be set if it is installed in 
slot 8 of an XT. The system’s original 
microprocessor is unplugged and re¬ 
placed with a V20. The 8284 is removed 
from its socket, then a special socket 
with some of the pins removed is 
plugged in its place, and the 8284 is 
plugged into that. The connection be¬ 
tween the board and the 8284 is made 
by means of a single wire terminated 
with a clip that snaps over the clock 
chip. The final step is the running of an 
installation program and the setting of 
the Screamer’s DIP switches according 
to an on-screen diagram. The switch 
settings can be changed while the sys¬ 
tem remains powered; the purpose of 
these switches becomes clear upon ex¬ 
amination of the board’s design. 

The Screamer generates three 
clock frequencies: 4.77, 6.0, and 8.0 
MHz. At any given instant, the clock rate 
will vary according to the capabilities of 
the components being accessed. For 
processor-only operations, the 8-MHz 
rate is used; for other activities, the rate 
is controlled on a cycle-by-cycle basis. 
This has the effect of “stretching” por¬ 
tions of a bus cycle without using wait 
states. During a bus cycle that reads or 
writes slow memory, only two of the 
four clock cycles are lengthened. 

On the surface, this scheme seems 
preferable to inserting wait states. At a 
clock rate of 8 MHz, a bus cycle with a 
single wait state lasts 625 ns (five clock 
cycles of 125 ns each), while a four- 
clock cycle with two clock cycles at 125 
ns and two at 167 (the clock period at 6 
MHz) lasts only 584 ns. But in practice, 
lengthening cycles exacts more of a 
penalty than inserting wait states. This is 
so because the 8088 and V20 processors 
perform two activities at once: prefetch¬ 
ing of instructions and execution. 

Most of the time, while a bus cycle 
is in progress, the processor’s execution 
unit is busy crunching an instruction 
fetched on a previous bus cycle. If the 
clock cycle is lengthened, fetching and 
execution are slowed down together. 

On the other hand, inserting a wait 
state slows down only the bus interface 
unit, while the execution unit continues 
to move along at full speed, provided 
that it has a prefetched instruction to 
work on. In fact, a single wait state in a 
bus cycle exacts no penalty whatsoever 
if the currently executing instruction 
takes five or more clock cycles; two 
wait states have no effect during execu¬ 
tion of an instruction of six or more 
clock cycles, and so on. 

The Screamer’s installation pro¬ 
gram tests the DMA channels and each 
portion of memory and attempts to de- 


144 


PC TECH JOURNAL 














FORTRAN. 



_ 





II 1 

Microsoft 3.31 

99,300 i 

_ 


i 


in 

1 1 


Lahey 2.0 89,700 | 

Mill TT 


* Single precision. Run c 




This is the one. 

Whatever the yardstick, 

RM/FORTRAN™ blows 
the others away. 

Sieve? RM/FORTRAN 
runs 26% to 228% 
faster. 

Whetstones? 

RM/FORTRAN is 
20% to 33% better. 

And those aren’t our 
benchmarks. They’re the 
industry standards. 

With RM/FORTRAN, ’ 
you can actually feel the 
difference in the seat of your pants . . . because 
you’ll do less sitting and waiting for those 
big, complex mainframe programs to run on 
your micro. In fact, an ARPANET Bulletin 
Board user said, “. . . for serious conversion 
work of mainframe Fortran code, use the 
Ryan-McFarland ...” 

RM/FORTRAN is also the first and only PC 
Fortran GSA certified at Full Level ANSI 77 
with no discrepancies. So programs move effort¬ 
lessly from your mainframe to a PC, XT, AT or 
compatible. And they also port to 68000-based 
systems or new 80386 machines. Ifou may already 
be using version 1.0 under the name “IBM PC 
Professional Fortran by Ryan-McFarland.” 

RM/FORTRAN comes with popular 
extensions from "VAX, VS and Fortran 66. That’s 
more mainline mainframe extensions than any 
other micro Fortran. 

And there’s more. PC TECH Journal, for 


IBM PC/AT (6 MHz) with 80287, PC-DOS 3.2. 

T 



example, said our 
“compiler’s documentation, 
ease of use, speed of 
execution, and debugging 
facilities place it first for 
recommendation. ” 

But why spend any 
more time reading when 
you should be filling out 
the coupon and getting 
your free “RM/FORTRAN 
Ibols, Utilities and 


g \—_ Applications Directory” and 
gN sample benchmark programs to 
\ run on your own PC. 

/ Remember, if it isn’t 
J RM/FORTRAN, it’s just a 
- Fortran also-ran. 


Ryan-McFarland 
609 Deep Valley Drive 
Rolling Hills Estates, CA 90274 
or call 213-541-4828 


RVAN-McFARUAND 




g^Knock me out. Send me the benchmark pc '^i 
| programs and the free Applications Directory. 


I 


Name 


Company 


Title 


Street 


City 


State 


Zip 


» Phone ( 

■ Ml 


CIRCLE NO. 137 ON READER SERVICE CARD 








Add RealCICS M to REALIA" COBOL 

and your online applications are free to travel to the PC. With RealCICS, 
you don’t have to work nights to get the test time you need. You don’t 
have to buy an XT- or AT-370. You don’t even have to revise the definition tables. 

Realia’s well-known IBM compatibility makes upload/download easy. But 
compiled under REALLA COBOL, your CICS applications will run so fast on the PC 
that you may not want to send them back to the mainframe for production. In 
fact, one user just put a mainframe application on a bunch 
of portables and sent them on the road. 

RealCICS is the ticket. Call us. 

DEAIU 

10 South Riverside Plaza, Chicago IL 60606 
Telex 332979 / Phone (312) 346-0642 


CIKC'l i D2 ON KF ADI K SF'RYICT. C \KI) 




SPEED INFUSION 



termine the maximum speed at which 
each will operate. Because it sits in a 
slot, the Screamer has access to the ad¬ 
dress bus and can vary the clock rate 
depending upon the segment being ad¬ 
dressed at each cycle. Memory is tested 
in 128KB increments all the way 
through the 1MB address space, includ¬ 
ing video memory, any expanded mem¬ 
ory page frames, and ROM. At the com¬ 
pletion of testing, the program graphi¬ 
cally displays the switch settings. 

Instructions for setting switches are 
also given in detail in the documenta¬ 
tion. This is fortunate because the test 
program is not wholly reliable, and its 
recommendations do not always work. 
For example, on the PC test system with 
200-ns RAM chips, the test procedure 
specified switch settings for a constant 
8-MHz clock rate to all of memory. But 
with these settings, the system crashed 
whenever it was switched into high 
speed. The board ran well when set for 
a 6-MHz rate of memory access. 

Another switch controls the boot¬ 
up speed of the Screamer. Thereafter, 
the speed is switched via a supplied 
program that can be either resident or 
transient. Once the proper switch set¬ 
tings were determined, no problems 
were encountered with switching 
among the three speeds. 

At high speed, the Screamer’s aver¬ 
age clock rate, as measured with a fre¬ 
quency counter, varied between 6.5 and 
6.8 MHz, depending upon the activity. 
Most of the time, the counter would sta¬ 
bilize at 6.67 MHz, which is the result 
of 60 percent of the clock cycles at 6 
MHz and 40 percent at 8 MHz. (The 
average frequency is obtained by aver¬ 
aging not the 6 and 8, but the periods 
of 167 and 125 ns.) The benchmark re¬ 
sults are almost identical to those ob¬ 
tained with boards that were running at 
a constant 6.7 MHz without any of this 
complexity with the clock. 

However, the most serious flaw in 
the Screamer’s design is the fact that it 
does not provide the standard timer in¬ 
put frequency of 1.1932 MHz. Because 
only one original 8284 is present, the 
processor clock and timer signals can¬ 
not be separated, and the 8253 timer 
chip receives one-quarter of whatever 
frequency is being fed to the micropro¬ 
cessor. In the Screamer, this can vary 
from cycle to cycle, thus the timer does 
not have a constant time base. The 
video synchronization, however, is unaf¬ 
fected, because the 14.3-MHz oscillator 
from the original crystal continues to be 
fed to the expansion slots. 

To salvage the time-of-day capabil¬ 
ity, an installable device driver replaces 

FEBRUARY 1987 


the DOS clock device and maintains the 
correct time despite the variations in 
the timer frequency. However, this does 
not fully duplicate the standard clock fa¬ 
cilities because the correct time is 
maintained only by the Screamer’s on¬ 
board clock/calendar and is available 
only through DOS. The timer words in 
the BIOS data area do not reflect the 
true time of day, nor are they updated 
at the actual time rate. Thus, processes 
that measure elapsed time by reading 
the timer words (or, for more resolu¬ 
tion, the timer registers) directly will 


not obtain the correct values. Further, 
the frequencies of sounds produced by 
the speaker are very different. 

IBM has made a commitment to 
maintain a fixed timer input frequency 
in all members of the PC family. Micro¬ 
sync’s disregard of this standard is un¬ 
warranted. Providing a substitute date 
and time driver is not sufficient, be¬ 
cause the timer frequency has other 
uses. For compatibility across the PC 
line, programs should take time-critical 
information from the timer, and the 
most efficient way of doing that is not 


A Contradiction! 

Running Under PC DOS 

>750 million bytes formatted in two volumes for the "Eagle" 

(one volume/drive)...M2361A can hold 552MB/volume...data transfer 
rate up to 2.4MB/sec....data access time - 18ms/drive...variable interleave 
capability...partitioning possible...drives built to mainframe specifications 
with mainframe reliability...greater than 20,000 hours MTBF. 

For further information contact: 

Upper Bound Micro 

18 Elizabeth Street, W. Conshohocken, PA 19428 
(215) 825-0505 FAX (215) 828-8618 

The "Eagle" is a trademark of Fujitsu America, Inc. 

PC DOS is a trademark of IBM. 

CIRCLE NO. 169 ON READER SERVICE CARD 

147 



















SPEED INFUSION 


through DOS, but directly from the 
BIOS or timer words, or from the tim¬ 
er’s registers. With the Screamer in¬ 
stalled, the timer becomes useless. It is 
primarily for this reason that the 
Screamer is not a recommended prod¬ 
uct. Even so, the cost and complexity of 
this accelerator are not justified by the 
performance it delivers. 

MicroWay. Although the 87/88 Turbo is a 
short-slot board that plugs into an ex¬ 
pansion slot, it is basically the same 
type of clock accelerator as the other 
no-slot boards. It runs an 8088 or V20 
in the original motherboard socket and 
feeds its higher-speed clock signals 
through the original 8284 socket on the 
motherboard. However, with full access 
to the bus, this board can do some 
tasks the others cannot, such as switch¬ 
ing speeds with software and automati¬ 
cally slowing down for disk access. In 
addition, it includes a battery-powered 
clock/calendar for setting the system 
clock on power-up. 

The 87/88 Turbo comes with an 
8-MHz V20 and three crystals that gen¬ 
erate frequencies of 6.67, 7.37, and 8.0 
MHz. The crystal for the slowest of 
these is soldered to the board; one of 
the other two is to be plugged into a 
socket. Then, a jumper is set to choose 
one of the two remaining frequencies 


as the turbo speed. The choice of 6.67, 
7.37, or 8 MHz can be made only at in¬ 
stallation, not during operation. It 
would have been much clearer, there¬ 
fore, to provide only one method of 
choosing—either by a jumper that se¬ 
lects one of three premounted crystals, 
or by plugging one of three into the 
board. The purpose of providing three 
clock speeds is, of course, to allow tai¬ 
loring the speed to the capabilities of a 
particular machine, but there seems to 
be no overwhelming reason to have 
two crystals, rather than one or three, 
mounted on the board. 

The socketed crystal does offer one 
option not available with the other 
boards. For a system that can run faster 
than 6.67 MHz but cannot manage 7.37, 
the user can purchase and plug in a 
crystal for some intermediate speed. 

The crystal frequency needs to be three 
times the desired clock rate; for exam¬ 
ple, a 21-MHz crystal is needed for a 
clock rate of 7 MHz. 

The documentation for this board, 
consisting of five 8^-by-ll-inch sheets 
of paper, contains installation instruc¬ 
tions that are a model of conciseness 
and clarity. MicroWay has always tar¬ 
geted its products to the more experi¬ 
enced PC user, for whom it is a pleas¬ 
ure to be spared the tedium of yet an- 


Complete Communications for 
Programmers & Engineers for $95 


Turn Your PC or AT into a 
Communicating Workstation 

ZAP gives you all the communications fea¬ 
tures you need, plus emulation of graphics and 
smart terminals. And at a reasonable price! 
You can use the full capabilities of almost any 
computer — a mainframe, mini, or just using 
a BBS . . . unattended. Accessing existing 
data shouldn’t cost you a lot of money. 


ZAP is the most versatile ~~ 
communications package you — 
could ask for. I communicate ~ 
with a number of mainframe and mini systems 
and use ZAP to download everything. It is very 
easy to use. 

I’ve bought 4 communications packages. 

All cost more, and none come close to ZAP’s 
performance. ZAP is now the only package I 
use. — Larry Cole, President 

PC Powerware Corp., Chicago, IL 

ZAP is a phenomenal product at a very reasona¬ 
ble price. To think I was ready to settle for 
VTI00 emulation for $195! 

— Hank Streeter, Owner 
Integrated Software Development, Houston, TX 

Requires an IBM PC or close 
compatible and 128K RAM. 


’ L/U WlllUil 1 

ZAP 



VT100, 102, TEK 4010/14 ... 
It’s all Here 

Emulate TEKtronix 4010/14 and DEC VT 
100, 102, 52 including variable rows and 
columns, windows, full graphics, more. 
Reliable file transfer to/from any mainframes 
and PCs including KERMIT and XMODEM 
protocols (plus a full copy of KERMIT). 
50-38,400 BAUD transfer speeds. 
D ownlo ad and fully automated logon with 
Macro and Installation files 
(scripts) 

EM ACS, EDT and VI 
“Script” files are included. ZAP also supports 
products like DISSPLA and SAS/GRAPH. 
Configurable to the communications and 
terminal features on the “other end”; 1, 2 
stop bits; 5, 6, 7, or 8 data bits; parity of 
odd, even, none, mark and space; remap 
most keys including the numeric pad. Set 
any screen size your hardware supports. 
DOS shell for full PC/MSDOS access. 
Supports 9 Comm ports and the IBM 
Monochrome, color, EGA, or Hercules 
Monochrome cards. 

Call 800-821-2492 to order ZAP 
risk-free for only $95 

.Solution 
Systems™ 

335-P Washington St., Norwell, MA 02061 (617) 659-1571 


other explanation of how to take off the 
system unit cover or what exactly an 
AUTOEXEC hie is and how to add lines 
to it. But the user who needs this kind 
of instruction will find the lack of tech¬ 
nical information frustrating. The pages 
provide absolutely no detail regarding 
the board’s theory of operation, the I/O 
port addresses used by the clock and 
the speed switching hardware, nor any 
explanation about the operation of any 
of the supplied resident programs. The 
port addresses given here were discov¬ 
ered by disassembling the programs. 

The process of installation involves 
replacing the 8088 with the V20, insert¬ 
ing the 87/88 Turbo into a slot, remov¬ 
ing the 8284, and connecting a ribbon 
cable between the board and the va¬ 
cated socket. The cable is keyed at one 
end, and pin 1 is plainly marked on the 
other. A push-button reset switch 
mounts in the round knockout in the 
rear panel; its cable is too short, howev¬ 
er, to permit mounting in a more acces¬ 
sible location for the user. 

The system always boots up at 4.77 
MHz. Thereafter the speed can be 
changed in one of three ways: first, by 
means of a spring-loaded switch that 
protrudes through the mounting bracket 
—pressing it down causes the system to 
speed up into turbo mode, and vice- 
versa (although a minor point, the re¬ 
verse would have seemed more logi¬ 
cal); second, by running one of two 
programs, LARGO and PRESTO, either 
from the DOS prompt or from a batch 
file; third, by installing a supplied resi¬ 
dent utility that performs speed-switch¬ 
ing via hot keys. However, the key com¬ 
binations of this last choice seem rather 
arbitrary and not mnemonic: Ctrl-Alt-P 
for fast speed, Ctrl-Alt-L for slow. 

The MicroWay instructions suggest 
starting out at the highest speed (8 
MHz) and stepping down until the sys¬ 
tem does not crash upon shifting into 
high speed. As stated, the test PC system 
would not run faster than 6.67 MHz. 
Strangely, the board would not run at 8 
MHz in the XT compatible, even though 
that machine has built-in capabilities to 
operate at that speed. 

This suggests that the 87/88 Turbo 
makes no concessions to slow system 
components, and indeed, it used zero 
wait states. But this board gives the user 
one element of control not provided by 
any of the others: the choice of auto¬ 
matically switching into slow speed for 
all disk accesses. If a resident utility is 
installed, slow speed is entered at each 
disk I/O interrupt, and the former 
speed is reenabled afterwards. Without 
this utility, disk I/O proceeds at what- 


CIRCLE NO. 129 ON READER SERVICE CARD 


PC TECH JOURNAL 








SPEED INFUSION 


#1 Lint for MS-DOS 


microDCF™ 

Text Workstation 

IBM DCF3 Compatible 
Text Processing System 
For Your PC 

• IBM Script language 

• IBM GML language 

• macro libraries 

• symbol support 

• multi-pass processing 

• high performance 

• laser printer support 

• table of contents 

• back-of-book index 

• user-definable languages 

• modular print manager 

• and much more... 

$795.- 

Quantity Discounts 
Site Licenses 
Full Maintenance 


TM 

Programmer 

Workstation 

IBM ISPF Compatible 
Program Development 
Tools For Your PC 

• ISPF PDF editor 

• dialog manager 

• dialog panel editor 

• utilities 

• multitasking while editing 

• directory file selection 

• customizable master menu 

from $145.- 




Arrix Logic Systems Inc. 

PO Box 142, Don Mills Stn. 
Ontario M3C 2R6, Canada 

(416) 292-6425 

TELEX 06-986766 TOR 

IBM is a registered trademark of International 
Business Machines Corp. 

CIRCLE NO. 122 ON READER SERVICE CARD 

FEBRUARY 1987 


ever clock speed is in effect. The other 
boards that have the capability of slow¬ 
ing down for disk I/O do not offer the 
option of disabling it. 

The MicroWay 87/88 Turbo opera¬ 
tion was flawless. As its name indicates, 
it also works well with an 8-MHz 8087. 
The installation instructions are first- 
rate, but it has no technical documenta¬ 
tion. Although it has some minor, but 
irritating, design flaws, the product 
works as promised, and the price is rea¬ 
sonable. For systems with no shortage 
of slots, and especially for those in 
need of a clock, MicroWay’s 87/88 
Turbo merits consideration. 

GOING FAST ENOUGH 

The accelerator boards were examined 
with measuring equipment and bench¬ 
mark programs. Clock frequencies were 
measured using a frequency counter. 

For the boards with crystal-controlled 
oscillators, and for those that doubled 
the 4.77 Mhz from the motherboard, 
the frequencies were found to agree 
with the nominal indicated to better 
than 0.1 percent (the output of a crystal 
oscillator may be varied over a narrow 
range with a trimming capacitor). Only 
one board, the Megahertz TurboSwitch, 
generates frequencies with less stable 
RC circuits. Its output is below the 
nominal by as much as 5 percent, and 
varies generally by about 1 percent. The 
Microsync Screamer also varies, but that 
is by design; its two individual frequen¬ 
cies are derived from a crystal oscillator 
and both are steady. 

A logic analyzer was used to deter¬ 
mine the insertion of wait states into 
bus cycles. This instrument samples a 
number of signals from a system under 
test, recording the logic state (zero or 
one) of each signal at each clock pulse. 
The capacity of the unit used was 4,000 
bytes, meaning that 4,000 clock cycles 
could be stored with an 8-channel 
probe, or 2,000 with a 16-channel 
probe. The start of sampling can be 
triggered manually or by the occur¬ 
rence of a particular bit pattern on the 
sample lines. At the end of the sampling 
interval, the stored data can be dis¬ 
played on the unit’s screen in binary, 
octal, or hexadecimal numbers, or 
graphically as timing diagrams similar 
to the one shown in figure 3. 

Because it ran at a faster clock 
speed (9-53 MHz) than the other five 
products, the Maynard Surprise! was the 
only board found to insert wait states 
into the bus cycle. The number of wait 
states is at least two, and occasionally 
three, for memory cycles, and four to 
six when accessing I/O ports. 


CBOGS 



The professional 
diagnostic facility for C 

PC-lint lets you zap swarms of C 
bugs and glitches at a time. 

Now you can uncover the quirks, 
inconsistencies, and subtle errors 
that infest your C programs . . . 
waiting to bite you. PC-lint finds 
them all... or as many as you 
want... in one pass. Set PC-lint 
to match your own style. 

Outperforms any lint at any price 

■ Full K&R support and 
common ANSI enhancements 
(even MS keywords) 

■ Finds inconsistencies 
(especially in function calls 
across multiple modules!) 

■ Modifiable library descriptions 
for 8 popular compilers 

■ Super fast,one-pass operation 

■ Suppress any error message 

■ Zillions of options 

PRICE $139 • MC • VISA • COD j 

Includes USA shipping and handling, t 
Outside USA, add $15. In PA add 6%. \ 

ORDER TODAY, 

30-day guarantee 

Runs under MS-DOS 2.0 and up, and 
AmigaDOS. Uses all available memory. 

Trademarks: PC-lint (Gimpel Software). 

MS, MS-DOS (Microsoft). Amiga (Commodore) 





149 



















SPEED INFUSION 



The asynchronous changes in the state of READY are brought into synchronization with the system clock by logic within the 
8284 clock generator chip. (See figure 1.) Note that the READY line has no effect on the T3 clock cycle. 


In designing benchmark programs 
to test these accelerators and the more 
complex models in future installments, 
one factor became immediately ob¬ 
vious: it is not possible to devise a sin¬ 
gle numeric measure that rates the rela¬ 
tive speed of processing under all con¬ 
ditions. A microprocessor performs 
many different functions, and its 
throughput can be increased by improv¬ 
ing the speed or efficiency of several of 
these functions in varying degrees. The 
effective improvement seen by the user 
depends upon the particular mix of 
these functions performed by a given 
application. The apparent gain in per¬ 
formance will vary depending upon the 
task used to measure that performance. 

Therefore, several different bench¬ 
marks were devised to test performance 
under a variety of conditions. With one 
exception, these tests are practical ap¬ 
plications, not artificial sequences of in¬ 
structions contrived to exercise some 
limited aspect of the microprocessor’s 
capabilities. The benchmark results are 
shown in table 2. Where two speeds are 
listed for a board, the lower of the two 
was achieved in the PC system de¬ 
scribed, the higher in the XT compat¬ 
ible. Note that the American Turbo was 
tested only in the compatible because 
its one speed was too fast for the PC; 
the Megahertz TurboSwitch would not 


run in the compatible; and the Maynard 
Surprise! ran at the same speed in both. 

BUSPERF (written in Lattice C and 
assembly language) was the one bench¬ 
mark designed specifically to determine 
low-level timing characteristics (see list¬ 
ings 1 and 2). It tests the speed with 
which systems fetch instructions from 
memory and calculates a speed index 
relative to a standard PC running at 4.77 
MHz. Measuring bus access timing re¬ 
quires a sequence of instructions for 
which the execution time is limited by 
the bus; that is, each instruction must 
execute in less time than it takes the 
bus unit to fetch it. The 8088 requires 
at least eight clock cycles to fetch a two- 
byte instruction; therefore, any instruc¬ 
tion that executes in fewer than eight 
clock cycles satisfies the requirement 
for this test. Ideally, the same test 
should be applicable to 80286 ma¬ 
chines, and the processor should fetch 
word-long instructions in a minimum of 
two clock cycles. Some two-byte instruc¬ 
tions do execute in two clock cycles, 
namely register-to-register moves. 

The high-resolution (better than 1 
|xs) timing method required for this test 
was developed by Bob Smith and Tom 
Puckett (see “Life in the Fast Lane,” 

April 1984, p. 62). Basically, the timing 
routine counts the pulses on the 1.1932- 
MHz timer line (refer to figure 1). 


The timing sequence is coded in 
straight-line fashion, rather than as a 
loop, to prevent the LOOP instruction 
from upsetting the balance between ex¬ 
ecution and fetch times. One other pre¬ 
caution must be taken: the timed se¬ 
quence cannot be interrupted by a 
hardware interrupt. The obvious way to 
avert this is to disable interrupts, but 
that still leaves one problem. If the tim¬ 
er count reaches zero during the test, 
the time at the end of the test may be 
less than the time at the start. Instead, 
the test is made to fit between timer 
ticks by delaying the start of the test un¬ 
til a tick occurs and limiting the instruc¬ 
tions in the sequence so that they can 
be executed in less than the 53 ms be¬ 
fore the next timer tick. 

The primary purpose of BUSPERF 
is to complement the logic analyzer in 
finding wait states. The analyzer can de¬ 
termine precisely the number of wait 
states and the circumstances when each 
occurs, but only in a relatively short 
time span of 4,000 clock cycles. If an 
event that affects the system’s timing oc¬ 
curs outside of this interval, it is not re¬ 
flected in the data stored in the ana¬ 
lyzer. On the other hand, BUSPERF can 
determine average bus access time over 
a time period two orders of magnitude 
(100 times) longer. In more colloquial 
terms, the analyzer might miss the for- 


150 


PC TECH JOURNAL 








































































TABLE 2: Benchmark Results 


IBM AMERICAN MAYNARD MEGAHERTZ 

CORPORATION COMPUTER ELECTRONICS CORPORATION MICROSPEED MICROSYNC MICROWAY 


MODEL 

PC 

PC 

American 

Turbo 

Surprise! 

TurboSwitch 

Fast88 


Screamer 

87/88 Turbo 

MICROPROCESSOR 

8088 

V20 

8088-2 

V20 

8088-2 

8088-2 


V20 

V20 


CLOCK SPEED (MHz) 4.77 

4.77 

7.37" 

9.55 

7.06 

6.67 

7.37" 

8.00 

6.67 

7.37" 

CLOCK SPEED RATIO 

100 

100 

155 

200 

148 

140 

155 

168 

140 

155 

BUSPERF 

0.045* 

100 

159 

132 

150 

142 

159 

_ c 

143 

159 

ATFLOAT 











No 8087 

106 

124 

158 

166 

151 

142 

158 

174 

160 

196 

With 8087 

22 

116 

158 

_ d 

151 

142 

157 

159 

157 

175 

ASSEMBLY OF VDISK 

34 

110 

158 

148 

148 

142 

156 

154 

154 

172 

LOTUS 1-2-3 











No 8087 

122 

103 

157 

152 

147 

141 

155 

161 

159 

187 

With 8087 

41 

106 

153 

_ d 

149 

142 

157 

157 

156 

179 

dBASE SORT 

119 

106 

146 

115 

118 

115 

147 

118 

119 

143 

WORD REPAGINATE 

50 

111 

152 

156 

156 

148 

170 

156 

161 

192 

DOS FORMAT 

• 

• 

O 

• 

• 

O 

O 

O 

O 

O 


• = Yes O = No 

a These results were obtained with the board in a PC/XT-compatible machine (with 8.0-MHz capacity), in order to accommodate the higher clock speed. 
b The figures in the first column (from this test down) are times in seconds for the base machine—an IBM PC with a 4.77 MHz 8088. The remainder of the fig¬ 
ures for the tests (including the second column, which is the base PC with the 8088 replaced by an NEC V20) are percentages relative to the first-column 
unit figures (base 100), and represent the increase in PC performance yielded by the accelerator boards. 
c BUSPERF relies on the IBM standard timer frequency, which is altered by Screamer. 
d Surprise! does not allow the use of the 8087 numeric coprocessor. 


The impressive clock rate of the Surprise! does not give a proportional performance improvement. The use of wait states by the 
Surprise! brings its performance down to a level comparable to the other products. None of these products provides even twice 
the performance of a stock PC, a level considered by many to be the minimum significant performance enhancement. 


est for the trees, while the program 
alone could be the statistician who 
drowned in a lake with an average 
depth of two feet. 

For an example of how the ana¬ 
lyzer and the program complement 
each other, consider the results ob¬ 
tained for the Maynard Surprise! The 
analyzer indicated that, most of the 
time, two wait states were inserted into 
memory accesses, with an occasional 
bus cycle having three wait states. How 
can it be determined if this is the nor¬ 
mal state of affairs and not an artifact of 
the narrow sampling window? Perhaps 
in a wider time frame, the cycles with 
three wait states are more prevalent, 
and those with two are an exception. 

Some simple calculations, and the 
results of BUSPERF, provide the answer. 
At the normal speed of 4.77 MHz and 
with zero wait states, a bus cycle takes 
four clock cycles of 210 ns, for a total of 
840 ns. At 9.55 MHz, the clock period is 
105 ns, and a bus cycle with two wait 
states (six clock cycles total) takes 630 
ns. The ratio of the bus cycle times, 
840/630, is 1.33, almost exactly the re¬ 
sult produced by BUSPERF. Therefore, 
it follows that the Surprise! inserts two 
wait states into most bus cycles. 

However, because of the occur¬ 
rence of cycles with three wait states, 


the average calculated by BUSPERF 
should be somewhat higher than the ra¬ 
tio obtained by the above calculation; 
instead it is slightly lower. This differ¬ 
ence can be explained by the saving in 
overhead for DMA refresh cycles. 

Under normal circumstances, every 
72 clock cycles (15 fxs at 4.77 MHz), 
one of the DMA channels performs a 
dynamic memory refresh to prevent the 
contents of RAM chips from fading 
away. The refresh cycle takes five clock 
cycles, representing an overhead of 5/72 
or 7 percent. The refresh cycles are 
triggered by the timer chip (the input 
for which is the 1.1932-MHz timer 
clock), and a correctly designed acceler¬ 
ator board does not change this fre¬ 
quency, so that the refresh interval re¬ 
mains 15 |xs. But if the processor clock 
runs at twice the speed, 144 clock cy¬ 
cles occur between refresh cycles. With, 
for example, three wait states per re¬ 
fresh cycle, the refresh overhead would 
be (5 + 3)/l44 or 5.5 percent. In the 
case of the Maynard Surprise! board, 
this reduction in refresh overhead ap¬ 
proximately offsets the occasional inser¬ 
tion of a third wait state. 

Because the results reported by 
BUSPERF depend on a constant timer 
frequency, this test could not be run on 
the Screamer. With that board, the 


timer frequency changed along with the 
processor clock, so the relative speeds 
of the timer and processor were the 
same (at 4.77 MHz). As a result, 
BUSPERF gave a bus speed index of 1.0. 

The other benchmarks are more 
straightforward. ATFLOAT is a floating¬ 
point benchmark written in Microsoft C 
by Steven Armbrust, Ted Forgeron, and 
Paul Pierce for testing AT compatibles. 
(See “Out from the Shadow of IBM... 
August 1986, p. 53.) It has no processor- 
specific code and runs on 8088 and 

8086 processors, with or without an 

8087 (and the test was performed both 
with and without). Note that at clock 
speeds above 5 MHz, the 8-MHz 8087-2 
model must be used. Five of the six ac¬ 
celerators ran fine at both high and 
normal speeds with the 8087. As has 
been noted previously, the exception 
was the Maynard Surprise! 

The assembly test used Microsoft’s 
MASM 4.0 to assemble the DOS 3.2 ver¬ 
sion of VDISK.SYS. The source code 
was obtained by processing the listing 
file VDISK.LST (on the DOS Supple¬ 
mental Programs disk) with the BASIC 
program LST2ASM (previously pub¬ 
lished with “Same Language, New Archi¬ 
tecture,” Ted Mirecki, October 1985, 
p. 48.) To minimize timing differences 
caused by disk I/O, the assembler, 


FEBRUARY 1987 


151 









SPEED INFUSION 


source file, and object file all resided 
on a RAM disk in expanded memory. 

To avoid taking timings manually, the 
following batch file was used: 

TIME 0 
MASM VDISK; 

TIME 

REM Reset your clock or run boot-up 
clock program. 

Typical end-user applications are 
represented by Lotus 1-2-3, Ashton¬ 
Tate’s dBASE hi, and Microsoft Word. The 
1-2-3 spreadsheet calculates a monthly 


mortgage payment table using the Data 
Table 2 feature. The rows of the table 
are the life of the loan in years, with 
values varying 1 to 30 by 1. The col¬ 
umns hold the interest rates from 1 to 
20 percent by .23. This is a more realis¬ 
tic business calculation than the more 
compute-intensive log, square root, or 
logarithmic functions. A file containing 
this spreadsheet, SSPERF.WK1 (for 1-2-3 
release 2.0 or 2.01) is available for 
downloading on PCTECHline. For this 
test, the expanded memory was dis¬ 
abled to avoid timing effects of access¬ 


ing paged memory. Despite the nonpro¬ 
cedural nature of spreadsheets, their re¬ 
calculation timing may be automated by 
the following 1-2-3 macro: 

{LET Al,@NOW} 

steps to be timed 

{LET A2,(@NOW-Al >*24*3600} 

{GOTO} A2 ' 

When complete, cell A1 contains 
the start time and cell A2 the elapsed 
time in seconds. The @NOW function 
returns a value for which the fractional 
part represents time of day (.0 is mid¬ 
night, .5 is noon, .75 is 6 PM, etc.). The 
fraction representing elapsed time is 
converted to seconds by multiplying by 
the number of seconds per day. Of 
course, cells A1 and A2 can be in any 
convenient place in the spreadsheet, or, 
more effectively, they can be range 
names. The {GOTO} command at the 
end was put in as a work-around for 
what appears to be a minor bug in 
1-2-3: the effect of a LET, which assigns 
a value to a cell, is not displayed until 
the next time the cell pointer is moved. 

The dBASE iii test consisted of sort¬ 
ing the author file from PC Tech Jour¬ 
nals standard application for testing da¬ 
tabase managers (see “Evaluating Data 
Managers as Development Tools,” Julie 
Anderson, August 1985, p. 46). The file 
contains 900 records of 353 bytes; the 
sort was done on three fields (ZIP, 
LAST_NAME, FIRST_NAME) totaling 35 
bytes. The input and output files were 
on hard disk, so the results here are de¬ 
pendent upon the speed of the disk as 
well as the processor. Although the ab¬ 
solute time of this test may vary from 
system to system, the relative times on 
one system should be close to those in 
table 2. As expected, the improvement 
provided by an accelerator is less on a 
disk-intensive task than it is on more 
compute-bound activities. 

The word processor test timed 
Microsoft Word repaginating a 57KB 
document occupying 19 pages. This was 
the only test timed using a stopwatch; 
the reported results are the average of 
five runs. The document resided on a 
hard disk, so this elapsed time also de¬ 
pends upon the disk speed, but to a 
lesser extent than the dBASE iii sort be¬ 
cause the disk access is less frequent. 

The final test was the formatting of 
a diskette. Three of the six accelerators 
failed this, but three of them clearly 
documented the fact that formatting re¬ 
quires switching to normal speed. The 
boards that accomplish the task without 
manually switching out of high speed 


Command Plus: 
What Command 
should have been. 

Command was fine when it came out. But when it 
came out again and again and again with few substan¬ 
tial changes, it became a real roadblock for efficient 
programming. 

Well, we always thought the programmer should be in 
command. So we designed Command Plus. An eminently 
reasonable shell that replaces MS-DOS® Command. 

You don’t have to forget the commands you already 
know. And Command Plus gives you an enhanced DIR, 
COPY and DEL. Plus features like command macros, 
command recall, file browsing, and lots more that you 
can’t get anywhere else. There’s even LOG to help track 
the time you spend on projects. 

You also get Script, a batch processor that’s easy to 
learn and unbelievably powerful. Its Pascal-like language 
includes control loops, conditionals and variables which 
let you create unique system utilities. Hassling with 
batch files is a thing of the past. 

If you think you’d get more done if you were in com¬ 
mand of all this, get Command Plus. It’s even within a 
programmer^ budget at $79.95. 

Ib order or for more information, call us at (800) 
992-4ESPIn California, call (213) 390-7408. 

VISA and MasterCard accepted. 


11965 Venice Blvd., Suite 309, Los Angeles, CA 90066 
MS-DOS is a registered trademark of Microsoft Corporation. 



ESP 

SOFTWARE SYSTEMS INC. 


CIRCLE NO. 190 ON READER SERVICE CARD 


152 


PC TECH JOURNAL 
















Windows, Data Entry, Help Management, Menus^l§ 

Text Editing, plus... 

SOURCE CODE 



Vitamin C 

It’s good for your system! 


The Vitamin C Difference 


With Vitamin C, your applications come 
alive with windows that explode into view! 
Data entry windows and menus become a snap, 
and context sensitive pop-up help messages 
are nearly automatic. 

With VCScreen, you’ll save time by inter¬ 
actively painting windows and forms so what 
/ou see is what you get! Then, one button 
generates C source code ready to plug into 
/our program and link with Vitamin C. 

Easy enough for the beginner. Versatile 
enough for the professional. Vitamin C’s open- 
ended design is full of “hooks” so you can 
ntercept and “plug-in” special handlers to 
customize or add features to most routines. 

Of course, Vitamin C includes all source 
code FREE, with no hidden charges. It always 
has. That means you’ll have everything you 
need to adapt to special needs without spending 
hundreds of dollars more. 


Windows 


Create as many windows asyou like with 
one easy function. Vitamin C automatically 
takes care of complicated tasks like saving 
and restoring the area under a window. 

Options include titles, borders, colors, pop¬ 
up, pull-down, zoom-in, 4-way scrolling, scroll 
bars, sizes upto32k, textfile displays editing, 
cursor display, and more. 

Unique built-in feature lets users move and 
resize windows during run-time via a definable 
key. 

Access the current window by default or a 
specific window any time, even if it’s hidden or 
invisible. Save and load windows on disk for 
more versatility! 


Data Entry 


Flexible dBase-like data entry and display 
routines feature protected, invisible, required, 
and scrolling fields. Picture clause formatting, 
full color/attribute control, selection sets, single 
field and full screen input, and unlimited data 
validation via standard and user definable 
routines. That means you aren’t locked into 
one way of doing things. 

Vitamin C even provides true right-to-left 
input of numeric fields with dynamic display of 
separators & currency symbols. 


High Level Functions 


Use our intergrated help management, 
multi-level menus, and text file routines, or 
build your own handlers using Vitamin C’s basic 
windowing and data entry routines. 

Standard help handler provides context 
sensitive pop-up help messages any time the 
program awaits key strokes. The help text file 
is stored on disk and indexed for quick access. 
So easy to use that a single function initializes 
& services requests by opening a window, 
locating, formatting, displaying, and paging 
through the message. 

Multi-level “Macintosh” & “Lotus” style 
menus make user interfaces and front ends a 
snap. Menus can call other menus, functions, 
even data entry screens, quickly and easily. 

Text editor windows can be opened for 
pop-up note pads, memofields, orgeneral pur¬ 
pose editing. Features include insert, delete, 
word wrap, and paragraph formatting. 


VCScreen 

Screen Painter/Code Generator 

Just as Vitamin C’s reusable functions speed 
your programming, VCSreen makes it even 
faster and easier by automatically generating 
C source code for your data entry screens! 

With VCScreen’s interactive screen editor, 
you actually draw your forms. You can define 
input, output and constant fields, headings, 
boxes, lines and even a window for the form to 
run in. 

What you see is what you get. If you don’t 
like the position of an object, just "pick it up” 
with the cursor and move it! Changing colors, 
attributes, copying, and deleting is just as 
easy. 

VCScreen generates readable C source 
code. It declares variables with names you 
provide and can even generate structures. 

With VCScreen choosing the right functions, 
parameters and sequences, and Vitamin C 
supplying the functions to choose from, you can 
stop worrying about semi-colons, matching 
braces, and calling conventions and concentrate 
on creating your application! 


30 Day 
Money Back 
Guarantee 


Better than a brochure. More than a demo 
disk. If you’re not satisfied, simply return 
the package within 30 days and receive 
a full refund of the purchase price. 


Vitamin C .$225.00 

Includes ready to use libraries, tutorial, 
reference manual, demo, sample, and example 
programs, and quick reference card. For IBM PC 
and compatibles. Specify Microsoft, Lattice, 
Computer Innovations, Aztec, Mark Williams, 
Wizard, DeSmet, or Datalight C compiler AND 
compiler version number when ordering. 

VitaminCSource ... FREE* 

‘Free with purchase of Vitamin C 

VCScreen .$99.95 

Requires Vitamin C and IBM PC/XT/AT or 
true compatible. 


ALL ORDERS: 

SHIPPING: $3 ground, $6 2-day air, $20 
overnight, $30 overseas. Visa and Master Card 
accepted. All funds must be U.S. dollars drawn 
on a U.S. Bank. Texas residents add 7V4% sales 
tax. 


For Orders or More Information, Call... 


(214) 245-6090 

























Attention Realia COBOL Users: 


SCREENIO 2.0 


Screen Manager for COBOL Professionals. 


A strictly COBOL approach to screen management, written by and for COBOL 
professionals. Screen Design is easy with SCREENIO. You take care of your 
application. We take care of the screens! Fully compatible with Realia COBOL. 


What does it do? 


Interactive Screen Design, Full Feature Screen Painter, COBOL Data Field 
Specifications, Edit Masks, Automatic Error Detection, Data Validation, High 
Speed Video, Full Compatibility, Window Panels . Hot-Fields, Key Redefinition, 
Foreign Language Capability, Full Color Support, Cursor Management, PC Speaker 
Control, Screen Libraries, and Very User Friendly. We’ve thought of everything! 


And Best of all: 


No Runtime Facility, No Runtime Fees, Superb Support. Only $400 Plus Shipping. 
Ask about our FREE demo pack and SCREENIO+Realia Package Deal! 


NORCOM 

Northern Computing Consultants 

Post Office Box 020897 
Juneau, AK 99802-0897 
(907) 780-6464 

Telex: 5106014951 (NORCOM) 

- Amex MC Visa Check - 


CIRCLE NO. 191 ON READER SERVICE CARD 


Can your IBM-PC do this? 



It can if you have PLOT88... 


and with PLOT88 , you can do a whole lot more . 


Plotworks offers you PLOT88, a library 
of subroutines to construct grids, con¬ 
tour maps, and three-dimensional mesh 
drawings. In addition, PLOT88 is a 
device-independent, industry-standard 
graphics package which includes PLOT, 
PLOTS, NUMBER, SYMBOL, AXIS, 
SCALE, LINE, FILL, and many 
others. You can output your drawings 
to Hewlett Packard plotters and laser 
jet printers, Houston Instrument plot¬ 


ters, and dot matrix printers. Now your 
mainframe graphics programs can run 
on your IBM-PC, PC/XT, or PC/AT at 
your convenience and at a fraction of 
the cost. 

PLOTWORKS, Inc. 

Dept. J-3, P.O. Box 12385 
La Jolla, CA 92037-0635 
(619) 457-5090 

“Toolmakers for the Information Age” 


CIRCLE NO. 153 ON READER SERVICE CARD 


SPEED INFUSION 

are the Surprise!, the TurboSwitch, and 
the 87/88 Turbo, the last only after in¬ 
stallation of a resident program that au¬ 
tomatically switches to slow speed for 
the duration of disk access. 

Several other tests were run as 
well, but all of the boards passed them 
uneventfully. These included the start¬ 
ing of software protected with Vault’s 
SuperLok, and the booting of several 
games, including Microsoft Flight Simu¬ 
lator. All in all, no incompatibilities 
were found; but every board permitted 
switching to normal speed in the event 
problems did arise. This also points out 
one of the advantages of this type of ac¬ 
celerator: at slow speed, they are totally 
transparent and indistinguishable from 
the system’s native hardware. 

CHOOSING RELIABILITY 

As the tests shows, none of these 
boards turns the PC into a blazing per¬ 
former. This is simply a limitation of 
the basic design of this type of accelera¬ 
tor. In most cases, the improvement in 
performance, about 20 to 40 percent 
overall, is directly proportional to the 
increase in clock speed, and the clock 
speed itself is limited by the existing 
components in the PC. 

Despite similarities among many of 
these products, certain differences stand 
out, and some recommendations can be 
made. First, the one board to avoid is 
the Microsync Screamer, because of its 
tampering with one of the declared 
constants of the PC standard, the timer 
frequency. As evidenced by the five 
other products, providing a faster pro¬ 
cessor clock without disturbing the tim¬ 
er input is not difficult to do, nor does 
it add significantly to the cost. 

A negative vote must be registered 
against the Maynard Surprise! for not 
recognizing an 8087 at any speed. Users 
who want the speed advantage of an ac¬ 
celerator will no doubt find it hard to 
live without the advantages of a nu¬ 
meric processor. The Surprise! also has 
a problem with the DOS print echo 
switch. Finally, whatever performance 
gain is achieved when this board does 
work is simply not commensurate with 
its high price tag. 

The American Turbo is very capa¬ 
ble, and its installation is straightfor¬ 
ward. But it has only one clock speed, 
7.37 MHz. Buy it only for a system that 
has been tested at that speed. 

At the top end of the spectrum, 
two products can be recommended in 
an otherwise unexceptional field. The 
first is the MicroWay 87/88 Turbo. It 
provides the most flexibility in methods 
of switching speeds, and it performs 


154 


PC TECH JOURNAL 




















very reliably. Its two minor drawbacks 
are that it takes up an expansion slot 
and that the documentation is some¬ 
what lacking. But for a system that can 
spare a slot, and especially one that 
needs a battery-backed clock/calendar, it 
deserves consideration. 

The standout is the Microspeed 
Fast88. Its high-quality construction, 
complete and comprehensive documen¬ 
tation, facile installation, and reliability 
in operation recommend it highly. Little 
else needs to be said, and that is meant 
as praise—a product of this type can be 
installed and forgotten. 

The performance of a PC with a 
clock accelerator comes nowhere near 
that of an AT, period. But for a modest 
improvement at a modest cost, and at a 
level of compatibility that is higher than 
with more complex enhancements, this 
method of speed improvement is a 
worthwhile consideration. 1 *" 111 HE1 


American Computer & Peripheral, Inc. 
2720 Croddy Way 
Santa Ana, CA 92704 
714/545-2004 

CIRCLE 340 ON READER SERVICE CARD 

Maynard Electronics 
400 E. Semoran Blvd. 

Suite 207 

Casselberry, FL 32707 
305/331-6402 

CIRCLE 341 ON READER SERVICE CARD 

Megahertz Corporation 
2681 Parleys Way 
Bldg. 2-102 

Salt Lake City, UT 84109 
801/485-8857 

CIRCLE 342 ON READER SERVICE CARD 

Microspeed 
5307 Randall Place 
Fremont, CA 94538 
415/490-1403 

CIRCLE 343 ON READER SERVICE CARD 

Microsync 

15018 Beltway Drive 
Dallas, TX 75244 
214/788-5198 

CIRCLE 344 ON READER SERVICE CARD 

MicroWay 
P.O. Box 79 
Kingston, MA 02364 
617/746-7341 

CIRCLE 345 ON READER SERVICE CARD 


Ted Mirecki is a contributing editor to this 
magazine. He is a corporate planner respon¬ 
sible for developing decision support systems 
on a variety of hardware. 

CIRCLE NO. 118 ON READER SERVICE CARD 


Storage Dimension's 

SpeedStor 286 BIOS 

from Award Software 

for use with PC ATs and 

XENIX System V 

Novell Advanced 
Netware 



■ Overcome drive table limitations 

■ Includes low-level initialization 
and disk drive advanced 
diagnostics 

■ 30% faster than IBM's BIOS 

■ $99 - Dealer and distributor 
pricing available 

STORAGE 

DIMENSIONS 


Supports Seagate ST4096, Miniscribe 

6085 and the following: 

Seagate 

ST251, ST4051, ST4096 

Maxtor 

XT 1085, XT 1105, XT 1140, 


XT2085, XT2140, XT2190 ; 

Miniscribe 

6074, 6085 

Micropolis 

1325 

Control Data 

Wren II 94155-86 

Microscience 

HH1050 i 

Newbury 

NDR1085, NDR1140, NDR2190, 

Priam Vertex 

V150, VI70, V185, 519 

Toshiba 

MK54F, MK56F 


The Experts in High Capacity PC Storage 


408 - 395-2688 

981 University Ave. 
Los Gatos, CA 95030 


Storage Dimension's family of high performance products for PC storage. 

SpeedStor subsystems from 42MB to 640MB ■ SpeedCache caching software 

SpeedStor hard disk integration software ■ Extended drive table ROMs 

60MB tape backup (DOS, Xenix, Novell) ■ SpeedStor 286 BIOS 


CIRCLE NO. 176 ON READER SERVICE CARD 



to sprawling files and vanishing disk space 


Short on disk space? 

Your remedy is Squish, a unique 40K resident program. 
Squish compresses large databases up to 90%! 

Text files, spreadsheets, etc. by up to 60%. 

Now for the best part... 

Your other software (dBASE III, R:BASE, etc.) 
can read or even update “squished files’’ 

while the files stay compressed on disk... 
without doing anything to your other software! 

For information to order: 



^unJog ^oftware Corporation 

264 Court Street, Brooklyn, NY 11231, (718) 855-9141 

Trademarks/Owners: dBASE lll/Ashton-Tate, Inc.; FLBASE/Microrim, Inc. 


30-day money-back guarantee 
so you have nothing to lose 
and a lot of free disk space to gain! 
PC, XT, AT, 100% compatibles. 
DOS 2.0 or above. 


FEBRUARY 1987 


155 




















SPEED INFUSION 



WHY GIVE UP... 


BATCH FILES, 


I/O REDIRECTION 


SIDEKICK ™ 


DOS MENU PROGRAMS, 


MOST OF YOUR RAM, 


EXECUTION SPEED? 


$ 69 95 


plus $5.00 S&H 


Washington residents add 7.9% 
International orders add $5.00 
VISA and Mastercard accepted. 

To order Toll-Free 

call 7-800-367-0657 


I Compatible, efficient DOS 
multi-tasking. 

We designed Taskview with effi¬ 
ciency in mind. During normal 
operation, TASKVIEW hides 
behind DOS, providing you with 
control of up to 10 concurrent or 
non-concurrent programs. Just 
the touch of a key instantly 
switches a program to the fore¬ 
ground. Included desktop utili¬ 
ties let you cut and paste from 
program to program. Simple to 
use and reasonably priced, no 
well equipped PC user should 
be without it. 

Requires: PC/AT/Jr compatible, 
DOS 2.0-3.1, 256K RAM, 1 
Floppy drive. 

Taskview trademark of Sunnyhill Software 
Sidekick registered trademark of Borland Inti. 


30-day money back 
guarantee 

Dealer Inquiries Invited. 




Sunny Hill 
Software 

13732 Midvale N. Ste. 206 

Seattle, WA 98133 

(206) 367-0650 M-F, 8-6 PDT 


CIRCLE NO. 158 ON READER SERVICE CARD 



“If you never thought Turbo 
Pascal was a systems program¬ 
ming language, you’ve never 
seen Turbo Professional." 

Darryl Rubin 
Computer Language 

For programs that move with 
technology—Turbo Profession¬ 
al—a truly professional library 
of subroutines. 

150 page reference manual. 
Full source—many example 
programs. 

No royalties charged for 
applications. 

Requires IBM compatible, 

DOS version 2.0 or greater, 
Turbo Pascal 2.0 or greater. 

Turbo Professional, trademark of Sunnyhill Software 
Turbo Pascal, registered trademark of Borland International 


Dealer Inquiries Invited. 


O y plus $5.00 S&H 

Washington residents add 7.9% 
International orders add $5.00 
VISA and Mastercard accepted. 


Sunny Hill 
Software^^ 

13732 Midvale N. Ste. 206 

Seattle, WA 98133 

(206) 367-0650 M-F, 8-6 PDT 


To order Toll-Free 

call 1-800-367-0651 


SERVICE INTERRUPTS 

No assembly required 


RESIDENT PROGRAMS 

Easy pop-up routines 


EXECUTIVE PROGRAMS 

Run ANY DOS program 


DISK SECTOR I/O 

Lowest level access 


FAST TEXT WINDOWS 

Virtual windowing system 


KEYBOARD MACROS 

Simple, powerful 


LOTS OF EXAMPLES 

21 + fuH example programs 


MUCH MORE. . . 

Over 140 routines in all 


CIRCLE NO. 152 ON READER SERVICE CARD 


LISTING 1: BUSPERF.C 

/* Program for timing bus performance of IBM compatibles. 

By: Ted Mirecki, October 1986. 

For LATTICE C compiler versions 2.x and higher; 
may require modifications for other compilers. 

*/ 

long basetime = 54001.0; /* Timer count on base PC */ 

double period = 1/1.19318; /* Microseconds per timer count */ 

int timersetO; /* ASM functions in BUSPERFX.ASM */ 

long bustestO; 

mainO 

L 

long count; 
double msecs, index; 

static char dispformtJ = *'%-8s %8ld %7.3f\n"; 

printf(*'\n\nBUSPERF -- PC Bus Performance Analyser\n"); 
printfC (C) Copyright PC TECH Journal 1986\n\n\n">; 

timersetO; /* initialize timer mode */ 

count = bustestO; /* perform the test */ 

/* calc & display results */ 

printfC Timer Count Mi UiSeconds\n"); 

msecs = period * basetime / 1000.0; 
printf(dispform, "Base PC", basetime, msecs); 
msecs = period * count / 1000.0; 
printf(dispform, "This Run", count, msecs); 
index = (double) basetime / (double) count; 
printf("\nBus Performance index: %5.2f\n", index); 

> 

LISTING 2: BUSPEREX.ASM 

TITLE BUSPERFX - TIMER ROUTINES FOR PC PERFORMANCE TESTS 

COMMENT " Routines to time execution of various operations. 

Copyright (c) PC Tech Journal 1986 
Written by Ted Mirecki, Oct. 1986. 

Linkage conventions per Lattice C. 

Limitation: test must not span midnight. 

II 

INCLUDE DOS.MAC ;LATTICE INTERFACE DEFIN I NT IONS 
.*************************************************************** 

; DATA SEGMENTS 

.*************************************************************** 


BIOSDATA SEGMENT AT 40H 



0RG 

6CH 

;DEFINE TIMER WORDS AT 40:6C 

TIMERLO DW 

? 


TIMERHI 

DU 

? 


BIOSDATA 

ENDS 



DSEG 


;MACRO TO OPEN DATA SEG (DOS.MAC) 

T1L0 

DU 

? 

;TIMER COUNT BEFORE CAL IB 

TIMID 

DU 

? 


T1HI 

DW 

? 


T2LO 

DW 

? 

;TIMER COUNT AFTER CALIB 

T2MID 

DU 

? 


T2HI 

DW 

? 


NEWSEG 

DU 

? 

;SAVE ALLOCATED WORKSPACE 

W0RKDATA 

DB 

10 DUP (0) ;SCRATCH AREA 


ENDDS 


;MACRO TO END DATA SEG (DOS.MAC) 


*************************************************************** 
MACROS USED IN CODE SEGMENT 

ft************************************************************** 


MACRO 

TX 


CALL 

TIMERGET 

;;GET CURRENT TIMER VALUES 

MOV 

TX&HI,AX 

;;SAVE 3 WORDS OF TIMER 

MOV 

TX&MID,BX 


MOV 

TX&LO,CX 



156 


PC TECH JOURNAL 




































ENDM 

PSEG 


/MACRO TO START PROG SEG (IN DOS.MAC) 


★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 
TIMERSET: INITIALIZE TIMER FOR INTERVAL TIMING. 

Sets Timer 0 (the time-of-day counter) to mode 2, with a period 
of 0 (equivalent to 65536). This makes it a low-order 
extension of the BIOS timer words. 
*************************************************************** 

BEGIN TIMERSET 


TIMERO EQU 

TIMERCTL 

SETM0DE2 

MOV 

OUT 

XOR 

NOP 

OUT 

NOP 

NOP 

OUT 

RET 

TIMERSET 


40H ;I/O PORT FOR TIMER 0 

EQU 43H ;I/O PORT FOR TIMER CONTROL 

EQU 00110100B /VALUE FOR MODE 2, 2 BYTES, BINARYv 

AL,SETMODE2 /SEND CONTROL BYTE TO TIMER 
TIMERCTL,AL 

AL,AL /SEND ZERO COUNTER VALUE (=65536) 

/DELAY FOR PORT RECOVERY 
TIMERO,AL /SET LO BYTE OF COUNT 

/DELAY FOR RECOVERY 


TIMERO,AL 


ENDP 


/SET HI BYTE OF COUNT 


★ ★ ★ ★ ★ ★ ★ ★ ★★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ it it it ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ * ★ * ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ 

TIMERGET: READ 3 TIMER WORDS INTO AX, BX, CX 


TIMERGET PROC NEAR 

ASSUME DS:BIOSDATA 


LATCH EQU 

PUSH 

MOV 

MOV 

MOV 

CLI 


/COMMAND TO SAVE TIMER 0 COUNT 


DS 

AX,BIOSDATA 
DS,AX 
AL,LATCH 


/POINT TO TIMER WORDS IN BIOS 
/PREPARE TO CAPTURE TIMER COUNT 
/NO INTERRUPTS WHILE READING TIMER 


OUT 

TIMERCTL,AL 

/LATCH THE TIMER COUNT 

MOV 

BX,TIMERLO 

/GET TIMER VALUES FROM B 

MOV 

CX,TIMERHI 

/HI TIMER TEMPORARILY IN 

IN 

AL,TIMERO 

/READ LOW ORDER BYTE OF 

MOV 

AH,AL 

/SAVE 

IT 

NOP 


/DELAY 

FOR RECOVERY 

IN 

AL,TIMERO 

/GET HI ORDER BYTE OF COt 

ST I 


/ALLOW 

INTERRUPTS AGAIN 

XCHG 

AH,AL 

/RESTORE CORRECT ORDER OF BYTES 

NEG 

AX 

/CONVERT TO UP-COUNT 

XCHG 

AX,CX 

/GET 3 

WORDS IN PROPER ORDER 

POP 

DS 



RET 




TIMERGET 

ENDP 




*************************************************************** 
ELAPSED: CALCULATE ELAPSED TIME INTERVAL 

Input: T3 timer values in AX, BX, CX/ 

previous values in T1 and T2 locations. 

Output: Elapsed time value, (T3-T2)-(T2-T1), as 
long int in AX:BX. 

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★if* 

ASSUME DS:DGROUP 
ELAPSED PROC NEAR 


SUB 

SBB 

SBB 

SUB 

SBB 

SBB 

ADD 

ADC 

ADC 

MOV 

MOV 

RET 

ELAPSED ENDP 


CX,T2LO /CALC (T3-T2)-(T2-T1) 

BX,T2MID 

AX,T2HI 

CX,T2LO 

BX,T2MID 

AX,T2HI 

CX,T1L0 

BX,TIMID 

AX,T1HI /DIFFERENCE IN AX, BX, CX 
AX,BX /RETURN LONG INT IN AX,BX 
BX,CX 



POWERFUL STATISTICAL ANALYSIS 
AND FORECASTING SOFTWARE 


StatPac Gold is the most advanced statistical analysis 
package available for your PC. It's been proven in 
business, government and academic communities 
for more than six years. 

StotPoc Gold is powerful and easy to use. A compre¬ 
hensive programming language gives you complete 
control over your data. Perform complex transforma¬ 
tions and sophisticated analyses with speed and 
accuracy. Produce customized tables and outstanding 
presentation-quality graphics. 

StotPac Gold uses sequential ASCII files so it's compat¬ 
ible with most other PC software. Time-series analysis 
and quality control options are also available. 

StotPac Gold is the best statistical analysis package 
you can buy-a high-quality product for professional 
applications. 

Free brochure and technical specifications 

Call Now: 1-800-328-4907 



WALONICK ASSOCIATES, INC. 

6500 Nicollet Avenue South, Minneapolis, MN 55423 

(612) 866-9022 


CIRCLE NO. 150 ON READER SERVICE CARD 


1 

/ BUSTEST: 

TIME MEMORY ACCESS FOR INSTRUCTION FETCH 


# 

BEGIN 

BUSTEST /MACRO TO BEGIN PROC (IN DOS.MAC) 


PUSH 

BP 


MOV 

BP,SP /STANDARD C ENTRY SEQUENCE 


PUSH 

DS 


MOV 

AX,BIOSDATA 


MOV 

DS,AX /POINT TO BIOSDATA SEGMENT 


ASSUME 

DS:BIOSDATA 


MOV 

AX,TIMERLO 


STAY: CMP 

AX,TIMERLO /DID TIMER TICK OCCUR? 


JE 

STAY /IF NOT, WAIT UNTIL IT DOES 


POP 

DS 


ASSUME 

DS:DGROUP /LATTICE DATA GROUP 


MARK 

T1 /GET INITIAL TIMER VALUES 



/SET-UP CODE, IF ANY, GOES HERE 


MARK 

T2 /END CALIBRATION, START TEST 


1 

- CODE TO BE TIMED BEGINS HERE. 


MOV 

AX,BX /TWO-CYCLE, 2 BYTE INSTRUCTION 


DB 

24999 DUP (89H, 0D8H) /PERFORM IT 25,000 

TIMES 

1 

---- END OF TIMED CODE 


CALL 

TIMERGET /GET ENDING TIME (T3) INTO 

REGS 

CALL 

ELAPSED /CALC ELAPSED TIME IN AX:BX 


POP 

BP 


RET 



BUSTEST ENDP 



1 

/ END OF TESTS 



t 

ENDPS 

/MACRO TO CLOSE PROGRAM SEG (IN DOS 

.MAC) 

END 




FEBRUARY 1987 


157 



































Until standards are developed, 


users 

have to rely on individual assessments 
of LAN capabilities. Here are a few 
guidelines for choosing a system. 


J. SCOn HAUGDAHL 


M any variables come into play in 
analyzing the performance of PC 
local area networks (LANs). With 
the introduction of the IBM Token-Ring 
Network comes yet another system 
structure that demands attention (see 
the “The Token-Ring Solution,” j. Scott 
Haugdahl, January 1987, p. 50). Further¬ 
more, developing benchmarks for LANs 
is difficult because no “typical” usage 
pattern has been established for an in¬ 
stalled network. This article offers 
points for consideration, including a 
few caveats, and gives examples of lim¬ 
ited LAN benchmarks, in this case con¬ 
ducted by IBM and Novell. 

Because standards are as yet unes¬ 
tablished, planners must be careful in 
weighing vendor claims against the 
probable realities of implementing a 
system. For example, a vendor that pub¬ 
lishes a benchmark for a specific task 


ticularly slow networks) may nullify the 
savings realized initially in the hard¬ 
ware/software investment. 

A vendor may claim that its LAN 
can host thousands of PCs. The number 
actually accommodated will typically be 
a limitation of the logical address space, 
not simply the comfortable number of 
PCs that can exist on a LAN without se¬ 
vere degradation in performance. (As a 
rule of thumb, the I/O response time 
on a LAN should be no worse than that 
of a stand-alone, diskette-based PC.) Re¬ 
lated to this, a vendor may claim that a 
LAN can operate with an unrestricted 
number of simultaneous users, but 
again, a limit must be imposed some¬ 
where to maintain performance stan¬ 
dards. Software vendors that make this 
claim generally are using the extended 
file-locking (byte-range) and open 
modes provided by DOS 3.x. They are 


(such as a file transfer) may be simply 
highlighting a particular area in which 
its LAN outperforms the competition. In 
other cases, LAN vendors may make as¬ 
sertions that simply do not bear out. 

A typical claim may be that the net¬ 
work uses “low-cost” twisted-pair cable 
(which is in more frequent use since 
IBM introduced its cabling system—see 
“Underlying Connections,” J. Scott 
Haugdahl, December 1986, p. 126). Al¬ 
though this cable may be considered 
low-cost, installation is far more expen¬ 
sive than the wire itself. Vendors some¬ 
times claim that they employ a nondedi- 
cated server, so that it can be used for 
more than one purpose (that is, as a file 
server/workstation, file/print server, and 
so on). This may be so, but the long¬ 
term costs in terms of performance, re¬ 
liability, security, and integrity (not to 
mention employee down time on par- 


158 


PC TECH JOURNAL 


ILLUSTRATION • ANDY LEVINE 









leaving determination of the actual limit 
up to the table capability of a hie server 
and the realistic capability up to the 
user. In some cases, this type of mul¬ 
tiuser software will not work at all with 
a disk server (such as a Nestar or an 
older Corvus LAN system). 

Although some vendors claim that 
LANs are transparent to the user (that 
the user will notice no difference be¬ 
tween using a LAN or a PC in a stand¬ 
alone environment), this is not entirely 
true. Users in a LAN must know how to 
handle delays, errors, concurrent ac¬ 
cess, and possibly having to assign vir¬ 
tual disk volumes. Neither is the system 
transparent to programmers: time-outs, 
semaphores, and record-locking proce¬ 
dures must be managed. 

Finally, the multiuser databases 
used with LANs also offer varying capa¬ 
bilities. Users will need to know, for ex¬ 
ample, about the maintenance of the 
system’s index structure, and if the lock¬ 
ing techniques are hidden from the ap¬ 
plication. Even though a LAN may be 
distributed totally, meaning that any PC 
may share any resource with any other 
PC, it may be difficult to locate data. 
•Moreover, the software for a distributed 
LAN system is typically complex, occu¬ 
pies a lot of RAM, and may be ineffi¬ 
cient (and thus, slow). 

SOFTWARE OPTIONS 

First things first. Five basic options are 
available for LAN software licensing, 
with many variations. The first option is 
for the vendor to license on a per-ma- 
chine basis; that is, the user buys a copy 
of each type of software for each PC in 
a LAN. Although vendors continue to 
market this option, it is clearly unac¬ 
ceptable to users. The idea behind 
LANs, after all, is to share resources, 
and that should include software. 

The second option is licensing on 
a per-network basis. Under such an ar¬ 
rangement, vendors may charge four to 
five times the single-user cost of the 
software, but then the licensee will have 
unlimited use. Microrim takes this ap¬ 
proach with its R:base System V. A third 
option is to include the LAN in a corpo¬ 
rate or site license enabling the users to 
have unlimited use of the software and 


produce an unlimited number of 
copies. The fourth method is to license 
software on a per-server basis; the soft¬ 
ware will operate only when installed 
on that particular server. Performance, 
will dictate when another copy is re¬ 
quired for a second or third server. 

Perhaps the last option is the most 
acceptable: to have one license per net¬ 
work with a limit on the number of 
users on the network. One copy of the 
software is placed on the server, and a 
limited number of PCs can run the soft¬ 
ware at one time. Many vendors market 
a system after this blueprint, including 
Ashton-Tate with its dBASE in plus. 

Many questions arise regarding the 
actual performance of LAN software: 
Does it have a hie or a disk server? 

What is the degree of transparent mul¬ 
tiuser support? How many active PCs 
are permitted (those using I/O), and are 
they application and time-of-day depen¬ 
dent? What is the maximum number of 
servers for the system? Does the net¬ 
work interface hardware contain direct 
memory access (DMA) and interrupt 
support? Does it have a VLSI (very large 
scale integration) coprocessor? What is 
the physical bandwidth and transmis¬ 
sion speed? What are the packet sizes? 
Does the system use token-passing or 
CSMA (carrier sense multiple access)? 
(This becomes insignificant if the sys¬ 
tem is a typical PC with mixed I/O 
usage.) Will the network I/O be basical¬ 
ly light, for applications such as pro¬ 
gram editing, word processing, spread¬ 
sheets, graphics, and electronic mail, or 
will it be moderate to heavy, for appli¬ 
cations such as database searching and 
indexing,.virtual print spooling, hie 
transfer, assemblers, and compilers? 

Server performance itself depends 
upon several factors: Is the server dedi¬ 
cated or nondedicated? Is it a custom 
server or a PC operating as a server? Is 
a multitasking operating system used? 
Are resident drivers included? This is 
something that is often hidden in the 
implementation of a LAN. A number of 
PC LANs patch, modify, and change 
DOS until it works in a DOS LAN envi¬ 
ronment. In other systems, such as 
Novell NetWare, the operating system 
does not depend on DOS for its opera¬ 


tion. Indeed, a true multitasking operat¬ 
ing system has nothing to do with DOS. 
The 3Com company is an interesting 
case in point. Before its current 3Com 
server, the company used a high-per¬ 
formance server called the AP Server. 
The AP was an Altos 586 machine run¬ 
ning Microsoft XENIX. 

In addition, the speed of a ma¬ 
chine’s hard disk can affect server per¬ 
formance. The average disk access time 
is approximately 30 milliseconds (ms), 
which is acceptable; however, some sys¬ 
tems have disks that take 60, 70, 80 ms, 
or more. Although hundreds of accesses 
take place per second, these times add 
up quickly and affect performance sub¬ 
stantially. This is the reason why some 
systems with very high-speed drives can 
access information very quickly and 
perform better in a multiuser environ¬ 
ment where the server’s hard disk has a 
lot of head movement. 

Disk caching is important for keep¬ 
ing frequently used data in the hie serv¬ 
er at all times. Hashing, another feature 
important to server performance, allows 
the server to run path names through 
an algorithm and obtain a 16-bit or 32- 
bit hash code instead of a large path 
name. Thus, when a server moves to re¬ 
trieve a hie from a directory, it can look 
up the hash code in a table instead of 
the longer path name. 

The number of concurrent opera¬ 
tions on a system naturally will affect 
server performance. For example, the 
Novell system can run a print server 
and the hie server on the same ma¬ 
chine. The 3Com system can run elec¬ 
tronic mail, a print server, and a hie 
server, all on the same machine. The 
ability to queue incoming requests is 
also a consideration. Suppose the server 
is gathering data from the hard disk. 

Are all users to shut down at this time, 
or can the server continue to accept re¬ 
quests from the network packets while 
it is gathering data? 

Some servers incorporate elevator 
seeking to optimize the ordering of re¬ 
quests and thereby minimize the head 
movement on a hard disk. The process 
is similar to that of an actual elevator: 
someone on the 18th floor presses a 
button for an elevator that is at ground 


FEBRUARY 1987 


159 









otne people nee 
low price AND 

gh performs 

in their LAN.. 

People like Resellers, 
Distributors, OEMs, 
VARs, End Users. 


People who sell LANs, and people who use LANs will tell 
you: TiaraLink is tine price/performance leader in local 
area networks for the IBM* PC market. 

Their reasons are sound: 

#1 TiaraLink supports DOS 2.0 through 
3.2 and a complete NetBIOS. 

#2 Thousands of TiaraLink networks are 
installed worldwide on IBM PC, XT, AT 
and compatibles. 

#3 LanWare,™ the network operating 

system software, is a one-time purchase 
regardless of the number of servers on 
the network. So your cost-per-station 
decreases as your network grows! 

#4 Gateways allow your networked PCs 

to operate both as terminals to a remote 
mainframe, and as network PCs. 

“TiaraLink is an excellent product for us to carry. 
ARCnet* is a proven technology, around since 1978. 
Although ARCnet can he utilized with other 
companies’ software, we still recommend TiaraLink. 
Tiara, the company, is great in terms of support, 
product availability, and margins. 

Customer reaction is super.” 

— Bob Putignano 
President, Access Data Products, Inc. 

Mt. Vernon, NY 


“TiaraLink is the only high performance LAN on the 
market with reasonable software pricing. That fact, 
combined with its ease of installation and operation, 
total reliability, fault recovery and 
multiple server capability is why we 
chose TiaraLink to distribute with 
our computers.” 

— Allan D. Dale, President 
OnSite Business Systems, Inc., 
a division of 
Dale Computer Corporation 
Okemos, Ml 

“Th& TiaraLink network has allowed 
(us) to grow from 5 nodes to over 
100 nodes with no problems. We continue 
to add disks, printers, and plotters easily . . . 
Even with over 400 megabytes of storage in 
17 hard disks, user response time is great!” 

— Gerd Hoeren 
Senior Software Engineer 
Integrated Measurement Systems, Inc. 

Beaverton, OR 


Join the knowledgeable network of Tiara resellers. 
Call us today for our reseller kit and more information. 
Dial 1-800-423-1268. In California call 1-800-325-6223 


Here’s what 
they say 
about 
TiaraLink. 


W COMPUTER 


f //UZ4 


COMPUTER SYSTEMS, INC 


See us at Hannover Fair 
CeB/T, USA Pavilion Hall 6 
Booth Ql. 


2685 Marine Way • Mountain View, CA 94043 • (415) 965-1700 • TLX 4996251 • FAX (415) 965-2677 

* Trademarks/Owners: TiaraLink, LanWare are trademarks of Tiara Computer Systems, Inc.; IBM/International Business Machines Corp.; ARCnet/Datapoint Corp. 

CIRCLE NO. 246 ON READER SERVICE CARD 




TOKEN-RING 



The Network Load Factor is determined by considering the various types of users 
on the ring, assigning each a weight value, and adding them to produce a total. 


level; as the elevator begins to go up, 
someone else wishes to get on at the 
14th floor. The elevator picks up the 
person on the 14th floor on the way to 
the 18th floor. In LAN elevator seeking, 
the head picks up requests as it travels 
through the disk. A server that incorpo¬ 
rates elevator seeking yields the best 
performance. (Single-user machines, 
such as the PC/XT and PC/AT, do not 
implement elevator seeking. Vendors 
who put their servers on top of an XT 
or AT system will have a major problem 
with head thrashing.) 

Benchmark reports on LAN envi¬ 
ronments frequently contain inherent 
fallacies. First, the number of PCs used 
in a benchmark network is generally 
too low (typically, fewer than six). This 
does not give a clear indication of how 
the system will work with 30, 40, 30 
PCs, or more. And, as discussed, all 
servers are not the same—various mod¬ 
els can be 10 to 100 times faster than 
others. Some benchmarks have been 
carried out using a server with a poor 
performance only because it was the 
least expensive. Another factor that 
benchmarks often do not take into ac¬ 
count is the effect of keyboard inter¬ 
rupts, especially in IBM PCs. Typing on 
a PC keyboard generates low-level inter¬ 
rupts to the processor. If the PC is be¬ 
ing used as a server, the user will con¬ 
stantly be interrupting the server pro¬ 
cess running in the background. This 
will affect performance significantly. 

Other enigmas impair LAN bench¬ 
mark reports: How can the reliability of 
a LAN environment actually be tested, 
and is that reliability based on the in¬ 
tegrity of the software? In addition, 
some benchmarks try to make single- 
user software perform in a multiuser 
way. They may downgrade a network or 
a PC software vendor because it does 
not work in a multiuser LAN environ¬ 
ment when the software was never de¬ 
signed for that in the first place. (Lotus 
1-2-3 is often abused in this way.) 

EARLY GRADES 

The sample benchmarks included with 
this article are typical of those now be¬ 
ing run on LANs. They were timed and 
measured by the respective companies 
(Novell and IBM); thus, they represent 
real, not simulated, results. They were 
chosen because they were designed to 
measure performance outright, not as a 
comparison among competitive ven¬ 
dors. Although they still say nothing 
about “typical” work environments, 
these data can be used as a rough 
gauge for response times. The Novell 
benchmarks run NetWare on different 


LAN technologies. (For a full discussion 
of this software, see “NetWare in Con¬ 
trol,” Art Krumrey, November 1985, 
p. 102.) The IBM data represent raw 
throughput of the its PC Network Pro¬ 
gram under certain circumstances. 
Novell’s format Novell has defined a LAN 
performance methodology called the 
NetWare Evaluation System. The idea is 
to determine the network load based 
on a profile of user types, then com¬ 
pare the result with various graphs to 
determine the best network/server con¬ 
figuration to meet that requirement. 

The user types are ranked from 1 
to 5, where 1 is a light-load user and 5 
a full-load user. The load is defined as a 
bandwidth requirement for that user, 
based on an average maximum single¬ 
station throughput of 64KB/second (in 
reality, it ranges from a low of 17KB/ 
second for an XT server on PC Network 
with the IBM NETBIOS to 174KB/sec- 
ond for an 8-Mhz AT-compatible Novell 
server on EtherNet using NetWare). 
Thus, a light load is about 3KB/second, 
and a full load is defined as 64KB/sec- 
ond (Novell points out that it is doubt¬ 
ful such an application exists—the 1 
through 5 loads are not linear. For ex¬ 


ample, a type 4 user may be a heavy 
database operator with a 20 to 40 per¬ 
cent single-station throughput require¬ 
ment, that is, 12 to 25KB/second.) 

The load factor is obtained by mul¬ 
tiplying the number of users by the 
user-type weight factor for each group, 
and adding the totals. For example, 10 
users times a type 1 weight of 3 yields 
30. Adding that to say, 8 users times a 
type 3 weight of 15, yields 150. If one 
type 4 user (at 40) is added, the total 
becomes 190 for an estimated network 
load. By comparing that number with 
Novell’s Network System Profile (figure 
1) for a standard IBM PC 6-MHz server 
operating with NetWare, a vertical line 
can be drawn at the 190 mark to see 
how the various LANs might perform 
under such a load. (Novell has included 
in this trial an AT with a hard disk and a 
diskette-based PC for comparison to 
stand-alone performance.) 

The graph shows that three net¬ 
works will turn in a better performance 
than the hard disk with a 190 load: 
3Com EtherLink Plus, Proteon proNET, 
and the IBM Token-Ring. Note the con¬ 
vergence of the two Token-Ring net¬ 
works to EtherLink Plus as the network 


FEBRUARY 1987 


161 

























BASIC 

Programmers 

Memory—Resident BASIC 

Stay-Res lets you pop up compiled BASIC pro¬ 
grams. Select your hot key or pop them up with 
a POKE. Automatic screen save/restore. Add our 
EMS/disk module (for DOS 3 +) and programs 
use only 7K of DOS memory - the rest is stored in 
Expanded Memory or disk. Stay-Res includes a 
true SHELL facility allowing you to SHELL ANY 
PROGRAM, even other BASIC programs, before or 
instead of becoming memory-resident. Requires 
IBM or Microsoft compiler (QB2 needs DOS 3+). 
Only $95. Add $50 for EMS/disk module. 

MACH 2 Turbocharges BASIC 

Use our assembler subroutines to boost program 
speed many times. Instant screen displays and 
pop-up windows when compiled. No 64K limit - 
use all avail. DOS memory for strings /numbers. 
Store, search, sort strings at assembler speed. 
Controlled input routine uses standard edit keys & 
ignores^C &~Brk. Print using for numbers up to 
6 times faster than BASIC. Read & write files fast 
as DOS. Much, much more. Assembler source 
code available. Only $75. 

Know Thy PC 

With Peeks ’n Pokes you can read & change 
system configuration from your program. Read 
CMOS chip on AT. Unprotect IBM/GW-BASIC 
pgms saved with “p” option. Plug characters in¬ 
to k’board buffer. Read/change k’board status. 
Read printer status - no more timeouts. Use 4 
printers as LPT1. Swap printers, monitors, COM 
ports. Read monitor/COMtfatus. Boot system 3 
ways from BASIC. Disabled &~Brk. Find more 
Peeks & Pokes. Much, much more. All BASIC & 
most assembler source code included. Only $45. 

Indispensable Utilities 

The Inside Track lets you load and execute large 
EXE files faster than DOS. DOS / BIOS calls & in¬ 
terrupts from BASIC. Limit memory used by com¬ 
piled programs to eliminate Command.com re¬ 
load. Copy protect a diskette. Boot system 3 ways 
from DOS. Memory map + summary of most 
common BIOS calls, including EGA. Control 
k’board state - force Caps Lock, Num Lock - disable 
~C,~Brk and Ctrl-Alt-Del. Program tips. Much, 
much more. All source code included. Only $65. 

Money-Back Guarantee 

Call for details on 30-day money-back perfor¬ 
mance guarantee. Our software is not copy pro¬ 
tected. No royalties when you use our subroutines 
in compiled programs. Compatible with IBM/GW- 
BASIC, QuickBASIC 1 & 2, BASCOM 1 & 2, MS 
5.36. System Requirements: 

• IBM PC, XT, AT or compatible 

• DOS2+ (Stay-Res EMS/disk requires 3+). 

• Stay-Res with QuickBASIC 2 needs DOS 3 +. 

Order Now 800-922-3383 

We welcome VISA / MC. COD in US only - add $3. 
Shipping: US $3/order. Canada - $5 for 1 or 2 
pkgs. Add $2 each addt’l. Elsewhere - $18 for 1 or 
2 pkgs. Add $7 each addt’l. In Georgia add tax and 
call 404-973-9272. Stay-Res/Mach 2 demo 
available - send $5 check. Refunded on direct 
purchase. 

MicroHelp, Inc. 

2220 Carlyle Drive 
Marietta GA 30062 


TOKEN-RING 

load factor increases. In terms of raw 
performance, the EtherLink Plus Ether- 
Net (with a raw data rate of 10 megabits 
per second—Mbps) outperforms the 
Token-Ring (with its raw data rate of 4 
Mbps). A LAN based on all EtherLink 
Plus adapters is also more expensive 
than one based on Token-Ring adapters 
and components. (Note that these No¬ 
vell figures were complied using the PC 
Token-Ring Adapter I. This testing was 
done before Adapter II became avail¬ 
able. The Adapter II will yield a slight 
increase in performance as a result of 
its increased buffer size and the fact 
that server software could take advan¬ 
tage of a new command in Adapter II to 
improve link performance.) 

Novell’s benchmarks are subject to 
argument. How can a vendor of server 
software remain objective? Consider, 
however, that although the benchmarks 
certainly are useful for comparing vari- 


WHICH INTERFACE? 

A programmer has several options in 
choosing an interface for an applica¬ 
tion that will be run on the IBM Tok¬ 
en-Ring Network. IBM itself offers 
NETBIOS, APPC/PC (Advanced Pro- 
gram-to-Program Communication/PC), 
IEEE 802.2 (logical link control, or 
LLC, protocol), IEEE 802.5 (token-ring 
protocol), DISOSS (Distributed Office 
Support System, via personal services), 
3270 (via the 3270 Emulation Pro¬ 
gram), and API/CS (Application Pro¬ 
gram Interface/CS via NetView/PC). 
Through third-party vendors, a user 
can obtain NETBIOS emulation from 
Novell, and Microsoft-compatible net¬ 
works from Ungermann-Bass and 
3Com Corporation. And, of course, an 
operating-system level interface is al¬ 
ways possible through DOS. 

System Network Architecture 
(SNA) is clearly IBM’s strategic long- 
range network architecture (even 
though the European data processing 
community is pushing IBM to follow 
International Standards Organization 
protocols). IBM’s SNA commitment is 
reinforced with the introduction of 
IBM NetView/PC and the now-estab¬ 
lished APPC/PC program. Offering 
SNA-based protocols and applications 
for the PC is one of the ways in which 
IBM can retain its market share of per¬ 
sonal computers and support large 
host customers that have many PCs. 

However, subsequent to the in¬ 
troduction of the IBM PC Network, 
which offered the first hope for a 
common thread to LAN software, writ- 


ous LAN and PC technologies, they are 
not necessarily helpful in comparing 
servers. Performance is only one aspect 
of LANs to be considered, features and 
functionality are quite another. A com¬ 
mon benchmark for performance, with 
some agreed upon weight factor for 
server functionality, would truly leave 
the choice to the user. 

IBM endeavors. IBM has engaged in a 
number of studies to determine Token- 
Ring performance using the PC Adapter. 
For comparison purposes, IBM chose to 
perform the tests on the PC Network as 
well. The IBM numbers presented here 
are preliminary and are not guaranteed 
by IBM. (In testimony to the fact the ar¬ 
rival at a set of standards for PC LAN 
operation is still some time away, the 
accompanying sidebar, “Which Inter¬ 
face?” is a brief discussion of the sev¬ 
eral interfaces available in writing appli¬ 
cations to function on a network.) 


ing to NETBIOS has become reason¬ 
ably popular, especially in PC-only 
LANs. The NETBIOS emulator on the 
Token-Ring was developed primarily 
for compatibility with the PC Network 
and to transport PC-Network-develop- 
ed applications to the Token-Ring Net¬ 
work. In addition, Microsoft (MS) net¬ 
works also offer most of the features 
of NETBIOS (such as the redirector). 
But even though a user can obtain 
NETBIOS applications to communicate 
with the IBM System/36, System/370, 
and even the Series/1, the NETBIOS 
interface (and MS networks) should 
be considered temporary solutions for 
either PC-only LANs or LANs with 
mixed computers and applications 
(that is, with PCs, minicomputers, 
mainframes, and so on). 

A safe approach would be to 
write multiuser applications for net¬ 
works that require file and record 
locking, in keeping with DOS 3.x. For 
mixed IBM environments, APPC/PC 
and NetView/PC clearly are the long¬ 
term interfaces to which applications 
should be written. For writing systems 
and protocol software, it is safer to 
write procedures that follow the 802.2 
LLC for two important reasons: to 
maintain compatibility with the latest 
IBM/IEEE 802.2 specification and to 
operate on top of IBM’s Adapters or 
those that use the Texas Instruments 
chip set. This also will build in sup¬ 
port for mixed IBM/other vendor 
802.5-compatible token-ring LANs. 

— J. Scott Haugdahl 


CIRCLE NO. 257 ON READER SERVICE CARD 

162 


PC TECH JOURNAL 








Him lour S!ystem/3X 
Intolhe Meet Host Wth 
PCOX Technology 


PCOX"5250 products 
make your System/3X 
treat your PCs like 
members of the family. 

Your System/3X and your 
PCsalready live together. Nowthey 
can work together, too. Thanks to 
PCOX Technology 

With PCOX 5250 connec¬ 
tions, your PCs enjoy the toll 
privileges of a 5251 Model 11,5291 
or 5292. 

Which means your PCs can 
access and transfer files from your 
System/3X data base, use its host 
as a departmental processor, or 
participate in your company’s dis¬ 
tributed SNA network. 



MORE WAYS TO SAY HELLO. 
The PCOX5250 series comes in 
twinax and remote versions—one 
foriocai connections; and one for 
connections over phone lines . 



PCOX 5250 products come 
in twinax and remote versiona so 
PCs can enjoy S/3X connections 
in person or over phone lines. 


And both versions support up 
to seven concurrent host sessions. 
No competing product delivers 
more. 

So let PCOX Technology open 
doors between your System/3X 
and your PCs. 

Call CXI today toll-free. 

800-225-PCOX 

In California, call 415-424-0700. 

CXI 

CXI, Inc., 3606 West Bayshore Road 

Palo Alto, CA 94303. Tfelex: 821945 

PCOX and all PCOX products are trademarks of CXI, Inc. 

CIRCLE NO. 217 ON READER SERVICE CARD 










TOKEN-RING 



The response time will depend upon the time that is spent by the network station 
to service the request in and the time taken to transmit the data over the ring. 


TABLE 1: IBM Benchmark Results 



LOGICAL LINK CONTROL 

NETBIOS 

40KB FILE LOAD FROM SERVER 

PC or PC/XT 

< 8 percent 

<20 percent 

PC/AT 

< 3 percent 

< 8 percent 

100KB FILE COPY FROM/TO SERVER 

PC or PC/XT 

<21 percent 

<59 percent 

PC/AT 

< 8 percent 

<21 percent 


The transfer of a large file on the PC takes a sizable percentage of the processor’s 
time. It is unlikely that sufficient time is left for use by a multitasking system. 


Assuming the network could be 
loaded with frames as close to 100 per¬ 
cent as possible, the Token-Ring can 
carry data (at the physical link level) at 
3.7 Mbps, or about 92.3 percent of the 
4-Mbps bandwidth. The maximum data 
capacity of PC Network is 1.5 Mbps, or 
about 75 percent of the 2-Mbps band¬ 
width. Thus, if the device attached to 
the Token-Ring (such as a PC) can sus¬ 
tain back-to-back transmission of pack¬ 
ets, the Token-Ring performance will be 
two times better than the PC Network. 
This can be traced to PC Network’s in¬ 
creased overhead, such as preambles 
and interframe spacing time present in 
its CSMA protocol. In a case where sev¬ 
eral stations were offering load at once, 
the Token-Ring would fare even better 
because it operates without collisions. 

IBM measured capacity over multi¬ 
ple sessions at the NETBIOS level, using 
16KB messages. For the PC Network, 


the maximum possible throughput at 
the session level was 650 kilobits per 
second. Using the Token-Ring with the 
NETBIOS emulator running in a 6-MHz 
AT, the throughput was 2.0 Mbps, or ap¬ 
proximately three times better than PC 
Network. Another contributing factor is 
that no transport or network layers are 
present in the IBM NETBIOS emulator 
for the Token-Ring Network; the session 
services communicate directly with the 
adapter handler. 

An AT might actually run slower on 
the PC Network because of the 8-bit 
DMA emulation required to operate the 
PC Network Adapter Card. Another fac¬ 
tor that slows down NETBIOS on the 
PC Network is that every packet is ac¬ 
knowledged, whereas on the Token- 
Ring, a parameter can be set to acknow¬ 
ledge every n packets. This, together 
with the fact some NETBIOS send oper¬ 
ations are acknowledged by the receiv¬ 


ing station before the sender “com¬ 
pletes” the operation, adds up to a fair¬ 
ly impressive performance. 

IBM also determined that the maxi¬ 
mum data rate of any one station on the 
Token-Ring depends on how fast the 
processor for that station is. For exam¬ 
ple, a single 6-Mhz AT can drive the 
network at nearly double the rate of a 
standard PC or XT. 

“Real-world” tests were conducted 
by IBM using the Token-Ring with the 
NETBIOS emulator and the PC Network 
Program, and one AT that was config¬ 
ured as a dedicated file server. A 40KB 
file was loaded by one to four worksta¬ 
tions. The response time exhibited by 
the workstations is illustrated in figure 
2. The top portion of each bar is the 
time spent by the AT in servicing the 
request (mainly in fetching data from 
the hard disk). The bottom portion is 
the actual time spent transferring the 
data over the ring. As with all PC LANs, 
the response time will depend not only 
on the performance of the network, but 
also on how fast the server can service 
the request. Recall that file servers, for 
example, are limited by the speed of a 
system’s hard disk. The bottom line in 
achieving optimum server performance 
is to use as much of the available LAN 
bandwidth as possible. 

Another interesting way to measure 
performance is by the percentage of the 
PC’s processor used while performing a 
network operation. This indicates the 
amount of “idling” (or time wasted) ex¬ 
perienced by the processor in which a 
multitasking operation could be imple¬ 
mented. The results of the IBM study 
are listed in table 1. In general, to 
achieve optimal ring performance, re¬ 
gardless of the PC type, the user must 
maximize the buffers in each worksta¬ 
tion and minimize the links between 
the workstations. 

With a sizable portion of the PC 
community either engaged in or consid¬ 
ering LAN environments, the issues of 
standards and benchmarks will develop 
vigorously. At this stage, it is a good 
idea to look at a variety of published re¬ 
ports to obtain an overview of available 
products. It is advisable to test individu¬ 
al products in the anticipated configura¬ 
tion rather than commit to a system 
based on reputation alone. [S w 


f. Scon Haugdahl is a senior systems special¬ 
ist at Architecture Technology Corporation, a 
consulting, publications, and seminar firm 
specializing in data communications. Mr. 
Haugdahl has been researching the LAN in¬ 
dustry for more than five years, designing 
products, writing papers and books, and 
presenting seminars on a world-wide basis. 


164 


PC TECH JOURNAL 


















































LAN REPORT 5 


A Hard Look at LAN Choices. 

Novell's LAN Report Package makes choices easier. 


The flexibility of local area net¬ 
works allows users to assemble 
LANs using network components 
that best suit the needs of the instal¬ 
lation. But choosing those compo¬ 
nents can be a confusing process. 

Novell, Inc., has published 
two reports designed to 
make the process easier: 
the LAN Operating System 
Report 1986 and the LAN 
Evaluation Report 1986. 

These reports help users 
evaluate network compo¬ 
nents and make informed 
decisions when choosing 
the components that meet 
their needs. Hardware and 
software issues are sepa¬ 
rately evaluated in the two 
reports, and extensive 
performance benchmarks 
are included. 

Software Choices. 

Choosing a network 
operating system, or LAN software, 
isthe most critical aspect of design¬ 
ing a network. Simply, the better the 
operating system, the better the 
network. The LAN Operating 
System Report contains an in-depth 
analysis of LAN software, begin¬ 
ning with an examination of LAN 
software standards such as 
MS-DOS 3.1 and NETBIOS, and the 
file server environment. Issues like 
internetworking, system reliability, 
security and performance are 
addressed as well. 

The LAN Operating System Report 
also evaluates Novell Advanced 
NetWare, the IBM PC Network 
Program and 3Com 3 +. The report 
shows users how the design and 
implementation of these products 
translates into real performance. 


Hardware Options. 

The LAN Evaluation Report 1986 
focuses on evaluating network 
hardware. It examines hardware 
issues that affect LAN performance, 
including an analysis and bench¬ 
marking of major LAN products. 


A key element of the study is the 
NetWare Evaluation System. The 
system provides a mechanism for 
matching site needs to specific 
hardware. Whether a new network 
is being planned oran existing site 
is being upgraded, the study is 
useful in the performance evalua¬ 
tion of any network. 

System planning starts with the net¬ 
work interface card (NIC) and cabling. 
NICs analyzed in the study are: 

• AT&T StarLAN 

• Corvus Omninet 

• Davong MultiLink 

• Gateway G-Net 

• IBM PC Network 

• IBM Token Ring 

• Interactive Systems Vista LAN/PC 

• Nestar PLAN 2000 

• Novell S-Net 

• Proteon ProNET 


• Standard Microsystems ARCNET 

• 3Com EtherLink 

• 3Com EtherLink + 

The report analyzes each NIC 
according to its access scheme, 
raw bit rate, on-board processor 
and NIC-to-host transfer method. 

Another important compo¬ 
nent of the LAN is the 
network server. In examin¬ 
ing network servers, the 
LAN Evaluation Report 
looks at several perfor¬ 
mance indicators. Proces¬ 
sor type isthe most obvious 
feature to differentiate 
servers. However, other 
factors important in deter¬ 
mining server performance 
are also evaluated, includ¬ 
ing processor clock cycle 
speed, wait states, server 
memory cycle speed, mem¬ 
ory channel and transfer 
bus channel. And the report 
examines the effect of 
disk channel speed on 
network performance. 

In addition to providing a careful 
examination of LAN hardware, the 
LAN Evaluation Report features an 
evaluation formula. Using the 
formula, a LAN's estimated future 
site activity is measured and 
matched to the appropriate LAN 
hardware. 

To Get the Reports. 

The LAN Operating System Report 
1986 and the LAN Evaluation Report 
1986 are available free of charge 
from Novell. To obtain a copy of 
the Novell Report Package, call 
or write Novell Corporate 
Communications, 122 East 
1700 South, Provo, Utah 84601, 
(801) 379-5900. 

INOVELL 



"Hardware and 
software issues are 
separately evaluated 
in the 

two reports..." 




CIRCLE NO. 109 ON READER SERVICE CARD 











Execution 
Profilers 
for the PC 

Part 2 

RALPH G. BRICKNER 


T o optimize a program’s perfor¬ 
mance, a developer needs to dis¬ 
cover the parts of the program 
that take up the most time. An execu¬ 
tion profiler can be used to analyze a 
program, determining how much time 
the program spends performing various 
tasks. Sophisticated performance analy¬ 
sis of this type is available from the 
many commercial profilers. 

Part 1 of this article (November 
1986, p. 120) presented assembly lan¬ 
guage and Turbo Pascal code for a sim¬ 
ple execution profiler, PRF. In Part 2, 
five commercial software packages are 
reviewed and compared with PRF. They 
include: Atron Corporation’s SPTA (Soft¬ 


ware Performance and Timing Analyzer; 
David Smith Software’s Code Sifter; dwb 
Associates’ Profiler; Phoenix Technolo¬ 
gies Limited’s Pfinish; and Stony Brook 
Software’s The Watcher. (For a compari¬ 
son of features, see table 1.) 

TESTING THE PROGRAMS 

To evaluate the performance of these 
five products, three programs were 
used. SIN.EXE is a FORTRAN program 
that calculates the sine function by two 
methods; one uses its own Taylor’s se¬ 
ries approximation, and the other calls 
the FORTRAN intrinsic function SIN. 
SIN.EXE is included as a demonstration 
program with IBM Professional FOR¬ 


TRAN. For the purpose of these tests, 
SIN.EXE was compiled with IBM FOR¬ 
TRAN version 2.0, because it provides 
line number output to the linker for 
symbolic interpretation. 

The second program, TERM.EXE, 
does interrupt-driven I/O to the COM1 
serial port. The assembly language code 
first appeared in PC Tech Journal as 
DUMBTERM (see “Interrupts and the 
IBM PC,’’ Chris Dunford, January 1984, 
p. 144). The only modifications that 
were made to the code were to include 
PUBLIC statements for all of the proce¬ 
dures so that the PROC names would 
appear in the .MAP file. 

LOOPS.EXE, the third test program, 
is written in C and is provided with 
Code Sifter. This program consists of a 
series of nested loops that do simple 
assignments and some arithmetic com¬ 
putations. All three test programs have 
.MAP files to allow symbolic interpreta¬ 
tion of the collected data. 

Profilers employ one of two ap¬ 
proaches to performance monitoring, 
passive and active. Some simple pro¬ 
filers use the passive approach. PRF is 
an example of this type; it does not 
modify the actual subject code. The pas¬ 
sive type of monitor is restricted to an 
observational role, recording CS:IP (the 
segment and offset of the instruction 
pointer) at specified intervals. In addi¬ 
tion to the capability of passively sam¬ 
pling CS:IP, the active-type profiler ac¬ 
tually modifies subject code, inserting 
jumps to the profiler to count proce¬ 
dure calls and events and to turn timers 
on and off. Although these features are 
quite useful, there are trade-offs. Active 
profilers consume more memory re¬ 
sources, and it is possible to corrupt 
data that are not specifically excluded 
from active sampling techniques. Not 
surprisingly, the two active profilers, 
SPTA and Pfinish, come from vendors 
who also offer sophisticated symbolic 
debuggers; their execution profilers are 
part of a comprehensive line of debug¬ 
ging and performance monitoring tools. 

Profilers save data in different 
ways. PRF, SPTA, and The Watcher sim¬ 
ply save all the samples they collect, un¬ 
til the data table fills up or the subject 
program terminates. After collecting 
these data, the analysis portion of the 


166 


PC TECH JOURNAL 


COMPUTER GRAPHIC • NATALE/EAST 









Commercial software profilers help developers identify and speed 
up the part of a program that consumes the most time. 


profiler reads the data and interactively 
processes them to make its report. This 
approach allows the user to run the 
(possibly lengthy) subject code once 
and then formulate questions to ask the 
profiler in an iterative manner, without 
rerunning the subject. This also allows 
separate code to be used for sampling 
and analysis. Using separate sampling 
and analysis code saves on memory 
usage by the profiler. Profilers that 
combine both sample and analysis code 
tend to be rather large; SPTA, for exam¬ 
ple, requires more than 128KB by itself. 
A convenient feature that is found only 
in The Watcher saves samples to a per¬ 
manent disk file. This allows the pro¬ 
grammer to come back later to analyze 
the data. 

Another significant issue in the de¬ 
sign of profiling software is the provi¬ 
sion for a macro or command file capa¬ 
bility. Some of the more complex prod¬ 
ucts require the user to enter a rather 
large number of instructions in order to 
exploit their flexibility. Therefore, the 
ability to save and retrieve these in¬ 
structions becomes a necessity. The out¬ 
standing products in this area are SPTA 
that offers an interactive save-and-recall 
macro feature and Pfinish with a batch¬ 
like command file facility. 

The presentation of data was nearly 
uniform across the product spectrum. 

As with PRF, the results are usually giv¬ 
en in histograms. Some of the programs 
supported changing histogram param¬ 
eters, such as minimum percentages to 
be displayed; some did not. They also 
differed in the amount of auxiliary in¬ 
formation that was displayed, for exam¬ 
ple, address partition labels or actual 
address ranges, number of samples, 
individual bin percentages. 

An important consideration in the 
reduction of the data is how the ad¬ 
dress ranges for the bins for accumulat¬ 
ing counts are determined. In PRF, a list 
is kept of ail distinct code segment reg¬ 
ister values found in the samples. A seg¬ 
ment histogram is then displayed, show¬ 
ing the relative abundance of each seg- 
: ment in the samples. Next, each individ¬ 
ual segment may be analyzed, with a 
histogram of offsets encountered within 
that segment. PRF is very address-driv¬ 
en, not symbolic; its model of segment- 


offset histograms closely matches the 
actual 8088 architecture. 

Programmers tend to write in high- 
level languages and think in symbolic 
terms. Therefore, the ability to associate 
histogram bins with meaningful pro¬ 
gram symbols is very important. All of 
the reviewed products provide some 
support for symbolic interpretation of 
the results, using information obtained 
from the .MAP file produced by the 
DOS linker. 

In practice, an enormous variation 
in the amount of information generated 
in the .MAP file will be encountered go¬ 
ing from one language processor to an¬ 
other or from one program to another 
using a given language processor. Thus, 
significant questions in the analysis of 
these products’ usefulness include: how 
robust are they in dealing with this in¬ 
formation? What aids do they give the 
user for managing the information? 

How well are they able to distill the in¬ 
formation to a useful basis for making 
software development decisions? A par- 

I he presentation of data 
was nearly uniform across 
the product spectrum. As 
with PRF ; the results are 
usually given in histograms. 


ticularly useful feature is the ability au¬ 
tomatically to assign symbolic regions 
to the physical address bins; the other 
option is manually to enter symbolic 
regions for the bins. A number of less 
important features are available that an 
individual product might offer. For ex¬ 
ample, convenient redirection of output 
to a printer or disk file, variation of the 
sampling rate, and variation of the data 
table size are all features of PRF, which 
may or may not be offered in the soft¬ 
ware that was reviewed. 

Atron Corporation. Atron’s Software and 
Performance and Timing Analyzer 
(SPTA) is a complex, active-type pro¬ 
filer. It is an interactive, menu-driven 


program, although complex command 
streams may be defined as macros and 
saved to disk for later retrieval. Like the 
other reviewed products, it can statisti¬ 
cally sample the code by means of a 
clock tick interrupt, the frequency of 
which may be selected by the user. For 
this mode of operation, however, SPTA 
stores a fixed number of samples. To 
vary the total amount of execution time 
that may be sampled, the user must 
change the timer frequency to an 
appropriate number. 

Other functions available from 
SPTA include procedure duration meas¬ 
urement that determines the amount of 
time spent in a given piece of code, a 
program event counter that counts the 
number of times a given event occurs, 
and a procedure timing analysis that 
stores the times at which a given event 
occurs. SPTA is actually an enhancement 
to Atron’s Software Source Probe de¬ 
bugger; consequently, a variety of auxil¬ 
iary functions are available, such as un¬ 
assemble, memory block moves, and a 
powerful macro capability. 

Symbolically, SPTA handles public 
names and line numbers within a mod¬ 
ule (if they are present in the .MAP 
file). However, the user must manually 
assign the (symbolic) address limits to 
the 16 collection bins. Fortunately, col¬ 
lection bin limits are stored on disk 
symbolically and reconverted to ad¬ 
dresses each time a new .MAP file is 
used. After setting up symbolic limits 
for LOOPS, SPTA produced the output 
shown in figure 1. 

The demonstration program pro¬ 
vided with SPTA can produce some real 
surprises if it is not used with care. The 
program is a small Pascal program that 
tests a region of system memory by 
writing to and reading values from it, 
beginning at an address entered by the 
user. The beginning address suggested 
in the documentation is 200K. Anything 
that happens to be in the memory re¬ 
gion (including the performance analyz¬ 
er or the demonstration program) will 
be overwritten by a test pattern. Users 
who employ terminate-and-stay-resident 
programs or execute programs from 
within a word processor or text editor 
must be careful about the region of 
memory they test with this program. 


FEBRUARY 1987 


167 



EXECUTION PROFILERS 


The documentation provided is 
well organized and indexed; a list of 
available commands is provided at the 
bottom of the command screen. Data 
analysis seems to take an unusually long 
time (1 minute and 5 seconds to plot 
approximately 8,000 samples). On the 
whole, SPTA seems to provide generous 
capabilities at a reasonable price. 

David Smith Software. Code Sifter is a pas¬ 
sive, monolithic profiler that does its 
data reduction in realtime. It is interac¬ 
tive and menu driven, and includes on¬ 
line help. The documentation is brief, 
but clear and well organized. 

A unique feature of Code Sifter is 
an automatic repartitioning of the 32 
sample bins. These bins are initially 
partitioned on the basis of the public 
symbols in the subject program’s .MAP 
file in symbolic mode, or they are de¬ 
fined manually in terms of absolute ad¬ 
dresses. After running the subject pro¬ 
gram, a quick press of F3 causes the 
code to discard the 16 least active bins 
and subdivide the remainder into 2, 4, 

8, or 16 bins. 

This repartitioning is done after 
every step when executing the subject 
program in the autorepeat mode. A few 
painless iterations of this procedure 
narrowed down the LOOPS program to 
its two most time-consuming subpro¬ 
grams (see figure 2). Note that LOOPS 
was provided with Code Sifter as a 
demonstration program. 

An interesting feature of Code Sift¬ 
er is that it automatically reads the .MAP 
file for the subject program, if present, 
and produces a sorted, condensed map 
file (.$MP) consisting of all public sym¬ 
bols. It then reads .$MP to set up the 
sample bins in symbolic mode. Unfortu¬ 
nately, this results in a loss of segment, 
group, and line number information, so 
that Code Sifter is not able to analyze 
SIN at the line number level. The large 
number of public names in the FOR¬ 
TRAN runtime code result in an unin¬ 
formative session with the default .MAP 
file. When an edited version of the .MAP 
file that was created manually was used, 
Code Sifter was able to profile the exe¬ 
cution times among the user-defined 
subprograms and the runtime code on 
the first iteration. 

Another useful feature of Code Sift¬ 
er is the ability to select any combina¬ 
tion of user program, DOS, and BIOS 
code to include in the sampling, all 
with a single function key. This function 
is especially helpful when profiling 
TERM, because TERM executes a large 
number of DOS function calls. A few 
iterations on the partitioning and clock 
speed-up gave useful data on the TERM 


tESSMSKM 


WSm 



. . ' V . : 




PCTJ 


DAVID 


DWB 

STONY 


SAMPLE 

ATRON 

SMITH 

PHOENIX 

ASSOCIATES BROOK 

Model 

PRF.ASM 

SPTA 

Code 

Pfinish 

Profiler 

The 




Sifter 



Watcher 

Version 

N/A 

1.13 

1.20 

1.10 

2.03 

1.05 

Price 

N/A 

$129 

$119 

$395 

$125 

$59.95 

TYPE AND OPERATION 







Active profiler 

O 

• 

O 

• 

O - 

O 

Interactive 

• 

• 

• 

O 

• 

• 

All samples saved 

• 

• 

O 

O 

o 

• 

for analysis 







Separate sampling 

• 

O 

o 

o 

• 

• 

and analysis code 







OUTPUT TYPES 







Histograms 

• 

• 

o 

• 

• 

• 

Changeable histogram 

• 

O 

N/A 

• 

o 

o 

format 







Summary statistics 

• 

• 

• 

• 

• 

• 

PERFORMANCE MEASUREMENTS 






Timer ticks 

• 

• 

• 

• 

• 

• 

Interrupts 

O 

• 

O 

• 

o 

• 

Procedure calls 

O 

• 

o 

• 

o 

0 

Stack tracing 

o 

o 

o 

• 

o 

o 

Event counts 

o 

• 

o 

o 

o 

0 

ADDITIONAL FEATURES 







Clock speed-up 

• 

• 

• 

• 

o 

o 

Subject autorepeats 

o 

o 

• 

• 

o 

o 

Output to printer 

• 

• 

• 

• 

• 

• 

Output to file 

• 

• 

• 

• 

• 

• 

On-line help 

o 

% a 

• 

o 

• ' 


ADDRESS REGION 







Absolute address 

• 

• 

• 

• 

• 

• 

Address relocation 

o 

o 

• 

• 

• 

• 

User definable 

• 

• 

• 

• 

• 

• 

Automatic partition 

o 

o 

• 

• 

o 

o 

assignment 







Automatic 

o 

o 

• 

o 

o 

o 

repartitioning 







Symbolic 

o 

• 

• 

• 

•« 

• 

SYMBOLIC SUPPORT 







Named segments 

o 

o 

o 

o 

o 

• 

PUBLIC symbols 

o 

• 

• 

• 

• 

• 

Line numbers 

o 

• 

o 

• 

• 

• 

Autoread map file 

o 

o 

• 

o 

o 

• 

Map file editing 

o 

• 

• b 

• 

o 

o 

• = Yes O = No 



a Rudimentary 



N/A Not applicable 



b Done automatically 




All of these products offer some symbolic support, in addition to the basic func¬ 
tions that are required to analyze PC program performance. 


program. (For information on clock 
speed-up for performance monitoring 
see part 1 of this article in November.) 
On the whole, Code Sifter provides all 
of the basic functions required to per¬ 
form timer-tick performance analysis, 
along with its autopartitioning feature, 
at a reasonable price, 
dwb Associates. Profiler, from dwb, is a 
passive, two-phase profiler. The first 


step in using the package is to execute 
the INSTALL program, which makes the 
sampling code (profiler driver) perma¬ 
nently resident in memory. The user 
then turns the sampling on and off by 
pressing the two Shift keys simulta¬ 
neously. Unfortunately, this procedure 
is not fully compatible with Borland 
International’s SideKick. While Ctrl-Alt 
always moves into and out of SideKick, 


168 


PC TECH JOURNAL 









FIGURE 1: SPTA Display 


FIGURE 2: Code Sifter Display 


Program terminated. Termination code=0000 


Program Activity Measurement 
Sample rate is: 20.000 ms 


Min address 

Max address 

Count 

% 0 20 40 60 80 100 

0000:0000 

._MAIN+F08E 

682 

98 1 ****★★★★★★★★★★★★★★★ 

.MAIN 

.MAIN+0117 

22 

3 |* 

.COPYRIGHT 

.COPYRIGHT+0458 

0 

0 | 

3000:0000 

3000:FFFF 

0 

0 | 

.CSCLEAR 

.CSCLEAR+0025 

0 

0 | 

.CSENABLE 

.CSENABLE+001D 

0 

0 | 

.CSDSABLE 

.CSDSABLE+05FB 

57 

8 |*** 

.STRCPY 

•STRCPY+0029 

298 

43 |*************** 

.UPPER 

.UPPER+0049 

0 

0 1 

.STRCMP 

.STRCMP+003C 

0 

0 I 

.STRCAT 

.STRCAT+0032 

298 

43 1 *************** 

.SORT 

.SQRT+0117 

1 

d | 

C 000:0000 

C000:FFFF 

0 

0 | 

D000:0000 

D000:FFFF 

0 

0 | 

E000:0000 

E000:FFFF 

0 

0 | 

F000:0000 

F000:FFFF 

10 

1 |* 


Total: 196 

ASm ARange BP BYte COMpare CONsole DElete ECho EMacro EVal Fill FLag Go IF 

INIt INTerrupt List LOAd LOOp MAcro MEnu MODule MOVe NEst NOVerify MORe 


SPTA handles public names and line numbers within a mod¬ 
ule; the bin address limits must be assigned manually. 


AREA 

COUNT 

PERCENT 

RANGE 

USER 

196 

1.5 

MAIN --> MAIN + 08B 

USER 

271 

2.0 

MAIN + 08C --> End of MAIN 

USER 

766 

5.7 

MY_SUBROUTINE --> End of MY_SUBROUTINE 

USER 

187 

1.4 

SENTRY --> SENTRY + OF 

USER 

34 

0.3 

PRINTF --> End of PRINTF 

USER 

262 

2.0 

SDLOAD --> End of SDLOAD 

USER 

18 

0.1 

SDADD --> End of SDADD 

USER 

87 

0.6 

SDMUL --> End of SDMUL 

USER 

729 

5.4 

SDDIV --> End of SODIV 

USER 

4 

0.0 

SDSTORE -•> SDSTORE + 010 

USER 

2853 

21.3 

STRCPY --> STRCPY + 014 

USER 

2808 

21.0 

STRCPY + 015 End of STRCPY 

USER 

4821 

36.0 

STRCAT --> End of STRCAT 

USER 

13 

0.1 

SORT --> End of SQRT 

USER 

4 

0.0 

FREXP --> End of FREXP 

USER 

33 

0.2 

FPUTC --> End of FPUTC 

Total 

Counts 

= 13396 


Press a key to return to MAIN MENU .... 


The two most time-consuming subprograms in LOOPS are 
identified using the automatic repartioning of sample bins. 


holding down both Shift keys results in 
an annoying alternating display: Profiler 
ON; SideKick; Profiler OFF; SideKick; 
Profiler ON; SideKick... Even without 
SideKick sharing the system, Profiler 
takes nearly a full second of holding 
down both Shift keys to switch on and 
off. Because the user must start and 
stop the sampling process without any 
knowledge of the internal state of the 
CPU’s instruction stream, it is difficult to 
know what is being sampled. For accu¬ 
racy and reproducibility, it would be 
clearer (although much harder to code) 
if a profiler adhered to a convention 
such as “Turn on sampling preceding 
EXEC call; turn off after return.” In the 
tested version, Profiler does not know if 
a program is being loaded or if it is in 
the midst of running; it relies entirely 
on the user for that information. 

Once the INSTALL code has been 
executed and is resident, PROFILER.EXE 
may be executed. This program is an 
interactive monitor that communicates 
with the resident code, telling it the ad¬ 
dress bin limits, resetting bin limits, and 
producing the output. The Profiler Mon¬ 
itor can be profiled by pressing Shift- 
Shift. As many as 16 address bins are in¬ 
tended to be set to the addresses of 
pieces of code in which the user is in¬ 
terested. The address limits on these 
bins must be set manually or Profiler 
does not perform as expected. 

By default, Profiler’s address bins 
are set to 0000:0000H - 0000:FFFFH, 
1000:0000H - 1000:FFFFH, and so forth. 
The results of profiling the LOOPS pro¬ 
gram with this default range assignment 
are given in figure 3. Ranges for the ad¬ 


dress bins can be entered symbolically, 
because Profiler does read a .MAP file 
for symbolic information. However, af¬ 
ter entering the limits symbolically, the 
ranges are converted to a numerical ad¬ 
dress and stored that way (assuming 
that the SAVE PARTITIONS function has 
been executed). These address regions 
become numerical offsets into the load 
module, which is assumed to be at seg¬ 
ment 0000H. The documentation from 
dwb actually instructs the user to run 
DOS DEBUG to determine where the 
subject program is to be loaded into 
memory. Then the user must record the 
value and use function key F4 in Pro¬ 
filer to set a global CS (code segment) 
value to be added to all the absolute 
addresses. Because any program change 
results in a change in the absolute off¬ 
sets of symbolic addresses, all the parti¬ 
tion limits that have been laboriously 
entered will be invalidated whenever 
the code is changed. 

Furthermore, any change in the 
operating system environment (such as 
loading a RAM disk driver) results in 
the user having to redetermine the 
global CS offset. During this review, af¬ 
ter typing several lines of partition lim¬ 
its and saving them to a file, the LOAD 
PARTITION FILE function resulted in an 
“Invalid hex number in partition file” 
error message. 

The documentation provided for 
Profiler is well organized and appro¬ 
priate for the functions provided by the 
package. The program also offers some 
rudimentary on-line help. 

Phoenix Technologies Limited. Pfinish is 
an extremely complex execution pro¬ 


filer of the active type. It is capable of 
generating statistical reports based on 
timer ticks and lists of callers of given 
regions, the number of instructions exe¬ 
cuted in a given region, the number of 
times overlays are loaded, and the num¬ 
ber of times a region is entered. A rich 
and varied command language is pro¬ 
vided to support these functions. 

To use Pfinish, the programmer 
first must run a utility to append the 
.MAP file symbolic information to the 
end of the subject program’s executable 
file. Pfinish commands can then refer¬ 
ence symbols in the table. Next, a com¬ 
mand file is prepared that tells Pfinish 
which symbolic (or possibly absolute) 
regions to INCLUDE in or EXCLUDE 
from the analysis, which reports to gen¬ 
erate, and which modes to set. If a com¬ 
mand file is not provided, histograms 
will be prepared by dividing the subject 
program into 256 equal regions. Then 
Pfinish is run, and the subject program 
is executed. Finally, the user examines 
the output file with a text editor (or re¬ 
directs the output to the screen). Figure 
4 is an example of the basic Pfinish out¬ 
put for LOOPS.EXE. 

Pfinish has some idiosyncracies that 
make it somewhat difficult to learn to 
use. For example, to INCLUDE all the 
procedures in a given code segment for 
analysis, the user must specify “IN¬ 
CLUDE SEGMENT proc_name” in the 
command file instead of “INCLUDE 
SEGMENT code__seg_name”. Here, 
proc_name is the name of some proce¬ 
dure in the desired segment, while 
code_seg_name is the name of the 
segment itself. As with most active pro- 


FEBRUARY 1987 


169 











EXECUTION PROFILERS 



Innovative 
Data Technology 
offers a variety of 1/2 

inch 9-track magnetic tape sub- *\f' 

systems for the IBM-PC/XT/AT featuring 
the new “LEO” PC tape controller. 

“LEO” is a state-of-the-art PC tape controller that 
lends itself to the most sophisticated applications in¬ 
cluding real time data acquisition, multitasking and 
true streaming disk back-up. “LEO” comes standard 
with an impressive list of features that include a dedi¬ 
cated microprocessor, up to 64K of RAM for buf¬ 
fering, high speed thruput with memory mapping 
I/O—no DMA channel required, ASCII to EBCDIC 
code conversion and external cable connectors for 
easy installation. 

Supplied on a 5 1/4" diskette is the most compre¬ 
hensive set of software drivers and utilities available. 
Users have a choice between an installable I/O driver 
with modules to “Basic” and “C” languages, or an 
MT-DOS device driver, which allows direct tape access 
under any language supported by DOS 3.1. Also in¬ 
cluded is “ANSI,” a sophisticated file transfer utility, 
“TAP” a comprehensive disk back-up and restore util¬ 
ity and “TCMD” tape command, a valuable tool for in¬ 
specting tape data and format. All utilities are menu 
driven with help screens for user friendly operation. 

IDT manufactures the complete subsystem ... con¬ 
troller and tape drive. With a commitment to excel¬ 
lence, IDT staffs a complete customer service 
department, offering you assistance to assure top per¬ 
formance at all times. Contact us today for additional 
information. 


INNOVATIVE 

DATA 

TECHNOLOGY 

5340 Eastgate Mail • San Diego, CA 92121 
(619) 587-0555 • TWX: (910) 335-1610 

Western Regional Office: 

10061 Talbert Ave., Suite 202 

Fountain Valley, CA 92078 • (714) 968-8082 

Eastern Regional Office: 

One Greentree Center, Suite 201 
Marlton, NJ 08053 

(609) 596-4538 • TWX: (710) 833-9888 


The ultimate solution 

for information interchange... 

The ultimate 9-track 
magnetic 
tape subsystem 
for the IBM-PC/XT/AT 







FUNCTION 6, DISPLAY PROFILE. 




10% 20% 30% 40% 50% 60% 

1 1.... 1.... 1.... 1_ i .... |_ i . 

70% 80% 

_l.... 1. 

90% 

_1_.| 

Partition 0 

1 I 1 1 1 1 I I 

| | ***************(3-i ^ T5% ) (112) 

i 1 

... i | 

Partition 1 

||*★★**★**★★**★*************★***★★*(££.01%)(233) 

Partition 2 

||(0.00%)(0) 



Partition 3 

||(0.00%)(0) 



Partition 4 

1|(0.28%)(1> 



Partition 5 

||(0.00%)(0) 



Partition 6 

||(0.00%)(0> 



Partition 7 

1|(0.00%)(0) 



Partition 8 

|.j(0.00%)(0> 



Partition 9 

||(0.00%)(0> 



Partition a 

11(0.00%)(0) 



Partition b 

11(0.00%)(0) 



Partition c 

1 |(0.00%)(0) 



Partition d 

||(0.00%)(0) 



Partition e 

||(0.00%)(0) 



Partition f 

||(1.98%>(7> 

1 1.... 1__ 1__1_1_1__ 1. 

.... t .... t . 

... i .... i 


II 1 1 1 1 1 I- 

10% 20% 30% 40% 50% 60% 

1 i 

70% 80% 

... i | 

90% 100% 

Total samples taken = 353 



Total samples hit = 353 



Partition hit ratio = 100.00% 



(Horizontal bars have been converted to asterisks; 

underlines 

deleted.) 


The information given using the default ranges for the 16 
bins is of little use. Useful ranges must be entered manually. 



PFINISH 1 

COMMAND LINE : loops 



PROGRAM 

EXIT STATUS : Terminated normally 



PROGRAM RUN COUNT: 1 



LOWEST ! 

STACK POINTER: 100 



PROGRAM 

RUNNING TIME: 00:00:24.45 445 ticks 



TOTAL 

RUNNING TIME: 00:00:24.45 445 ticks 




HIT COUNT 







$DADD 

1* 

1 

0% 95 

$DCEQ 

1 * 

1 

0% 19 

SDCLE 


1 

0% 20 

SDCLS 

1* 

1 

0% 1 

SDCVTL 

1* 

1 

0% 20 

$DDIV 


1 

0% 76 

SDLOAD 

1** 

1 

0% 556 

$DMUL 

1* 

1 

0% 104 

SDSTORE 

1 * 

1 

0% 163 

SENTRY 

1*★**★*★*★★ 

1 

8% 5001 

SLMUL 

I * 

1 

0% 3 

SMAIN 

1* 

1 

0% 1 

CALLOC 

1 * 

1 

0% 3 

CLOSE 

1 * 

1 

0% 3 

CSCLEAR 

1 * 

1 

0% 1 

CSDSABLE 

1 * 

1 

0% 1 

EXIT 

1 * 

1 

0% 1 

FCLOSE 

1 * 

1 

0% 3 

FILENO 

1* 

1 

0% 4 

FPUTC 

1* 

1 

0% 93 

FREE 

1 * 

1 

0% 3 

FREXP 

1 * 

1 

0% 19 

LDEXP 

1 * 

1 

0% 19 

MAIN 

1 * 

1 

0% 1 

MALLOC 

1 * 

1 

0% 3 

MY_SUBR0U |********** 

1 

8% 5000 

PRINTF 

1 * 

1 

0% 4 

SBRK 

|* 

1 

0% 3 

SETMEM 

1 * 


0% 4 

SQRT 

1 * 

f 

0% 20 

STRCAT 

1**************************** 

1 

26% 15000 

STRCPY 

1*******************************************************| 

53% 30065 

SYSINT21 

1* 

1 

0% 4 

WRITE 

1 * 

1 

0% 4 

EXIT 

1 * 

1 

0% 1 

_FMT0UT 

|* 

1 

0% 4 

_MAI N 

1 * 

1 

0% 1 






A command file tells Pfinish which regions of the program 
to analyze and which reports to generate. 


170 


CIRCLE NO. 108 ON READER SERVICE CARD 


PC TECH JOURNAL 

























FIGURE 5: The Watcher PI.OT PROGRAM BY SYMBOL Output 


*Plot of program by symbol 

from sample file LOOPS 

.IPS 

MAIN 

3.2% 

| **** 

MY_SUBROUTINE 

8.0% 

| ************ 

SENTRY 

1.2% 

1* 

PRINTF 

0.0% 

1 

SDLOAD 

2.0% 

| 

SDMUL 

0.8% 

1* 

SDDIV 

4.8% 

|******* 

SFLOAD 

0.0% 

1 

SFSTORE 

0.0% 

1 . 

STRCPY 

37.1% 

|******************************************************** 

UPPER 

0.0% 

1 

STRCMP 

0.0% 

1 

STRCAT 

34.7% 

|**************************************************** 

SQRT 

0.0% 

1 

92.0% of the 

samples 

were included in this histogram. 


The Watcher from Stony Brook Software claims to be able to generate histograms 
based on lines, symbols, and addresses, but, in fact, not all of the options worked. 


filers, the user must instruct Pfinish to 
exclude data regions from its analysis to 
avoid corruption of data. 

During testing, Pfinish refused to 
give statistics on timer tick samples, in¬ 
sisting that zero clock tick samples exis¬ 
ted in the user program for SIN when 
no command hie was specified. (It did 
perform satisfactorily when an appro¬ 
priate command hie was prepared, 
however.) Even worse, it froze the sys¬ 
tem when trying to analyze TERM 
(which admittedly accesses the interrupt 
controller chip directly) and required a 
system power-off to reset. This was after 
the data and stack segments were 
EXCLUDEd from analysis. 

Of the reviewed products, only 
Phnish and Prohler can analyze resident 
code. Once executed, Phnish remains 
resident and collects data while the sys¬ 
tem goes about its business, until a sep¬ 
arate utility is run to terminate the sam¬ 
pling and produce the report. The user 
is required, however, to reboot the sys¬ 
tem in order to return the occupied 
memory to DOS. 

The documentation is quite 
lengthy; an index and detailed table of 
contents aid the user in locating infor¬ 
mation. Phnish is expensive, but for the 
user who is willing to learn its idiosyn- 
cracies, it does provide a powerful pro¬ 
filing capability. 

Stony Brook Software. The Watcher from 
Stony Brook is a passive prohler with 
separate sampling and analysis portions 
that communicate by means of a data 
hie generated by the sampling program. 


The documentation provided is clear, 
well indexed, and not overly long. 

The Watcher is a bare-bones pro¬ 
hler that does not include a clock 
speed-up feature, but it does offer rea¬ 
sonable symbolic support. It knows a 
program is composed of segments that 
are processed from various source 
modules, which have line numbers, and 
that code is distributed in memory by 
address. A histogram can be generated 
for a program, segment, or module, or 
for DOS interrupts. The Watcher can 
show sample counts for segments, lines, 
symbols, or addresses. 

For example, users can plot the 
number of hits for the different seg¬ 
ments encountered in a program, or 
they can plot the number of hits for 
line numbers in a source module. In 
fact, this method worked well in deter¬ 
mining which subprograms LOOPS was 
spending its time in (see hgure 5). 

The Watcher was used to prohle 
the execution of SIN and TERM without 
any problems. It had no trouble plot¬ 
ting the relative execution times in the 
public procedures in the code segment. 
However, it cannot plot a symbol (pro¬ 
cedure name) by address, because that 
is not an allowed combination. Instruc¬ 
tion-level profiling is only possible by 
means of the PLOT SEGMENT CODE BY 
ADDRESS command, which requires 
looking up the location of the proce¬ 
dure within the code segment in the 
assembler output listing. 

The Watcher has only one useful 
command, PLOT, and a limited number 


of subvarieties of this command. The 
format of this command’s output is 
fixed; all bins are shown even if they 
received no hits. The Watcher is reason¬ 
ably priced; however, the amount of 
data entry required, along with The 
Watcher’s nonautomated mode of oper¬ 
ation, lessens its appeal. 

FURTHER AUTOMATION NEEDED 

A number of extremely powerful execu¬ 
tion analysis tools are available to PC 
program developers, some at very rea¬ 
sonable cost. These tools can be quite 
useful in helping programmers to op¬ 
timize code for maximum performance. 
While product characteristics vary wide¬ 
ly, all of them offer, in principle, some 
symbolic support and the basic func¬ 
tions required to do a performance 
analysis. However, further automation 
of the analysis process is still necessary 
to free the programmer from the drud¬ 
gery of needless data entry. Code Sifter 
and Pfinish represent the best solution 
to this problem, although neither is the 
final answer. 1 "ilminntel 

SPTA: $129.00 
Atron Corporation 
20665 Fourth Street 
Saratoga, CA 95070 
408/741-5900 

CIRCLE 352 ON READER SERVICE CARD 

Code Sifter: $119.00 
David Smith Software 
Box 25A, RD #3 
Oxford , NY 13830 
607/843-6209 

CIRCLE 353 ON READER SERVICE CARD 

Profiler: $125.00 
dwb Associates 
7877 S.W. Nimbus 
Beaverton, OR 97005 
503/646-5607 

CIRCLE 354 ON READER SERVICE CARD 

Pfinish: $395.00 

Phoenix Technologies Limited 

320 Norwood Park S. 

Norwood, MA 02062 

800/344-7200 

617/762-5030 

CIRCLE 355 ON READER SERVICE CARD 

The Watcher: $59.95 
Stony Brook Software 
Forest Road 
Wilton, NH 03086 
603/654-2525 

CIRCLE 356 ON READER SERVICE CARD 


Ralph G. Brickner, Ph.D., is a researcher in 
parallel processing at Los Alamos National 
Laboratories, where he also performs bench¬ 
mark tests on scientific computers. 


FEBRUARY 1987 


171 











Why do we 
make it that way? 

Customers expect all accelerator 
boards to run as promised. The sad 
truth is they don’t. STD built it’s 
reputation on fulfilling the 
promise..." We build Bullet Proof 
Boards!" Starting with our PC-286 
accelerator board running DOS and 
Protected Mode XENIX, we 
continue to keep the promise with 
the newest member of our family, 
our 386 board. 


IBM PC/XT t$ a registered trademark. 


The new STD-386 16MHz board 
was designed to be compatible 
with 6 and 8MHz IBM PC/ATs and 
popular PC/AT Clones. It is EGA 
compatible and supports Real-and 
Protected-Mode software. It is a 
total hardware solution. From our 
experience, we know our approach 
insures full compatibility. The STD- 
386 is a plug-and-play 80386 CPU 
board taking up one slot and 
offering memory choices from 1 to 
16 Megabytes of RAM. An 
optional 80387 coprocessor is 
available. 


CIRCLE NO. READER SERVICE CARD 


building the world s most 
286 accelerator board. Befoi 
board is ever shipped, 
through nearly 100 hours of 
in and testing. We know our 
reputation is on the line, 
proudly invite you to give us a 
to find out how easy it really is to 
upgrade your company’s ATs with 
the new world standard - 
The STD-386 16MHz, 




Listening to Customers is Our Fu 

Seattle Telecom & Data, Inc. 12277 134th Court Redmond, Washington 98052-2429 ( 206) 






PROGRAMMING PRACTICES 


AUGIE HANSEN 


Creating Sound with the Tinier 

The PCs programmable interval timer devices 
can be used to generate a wide range of sounds. 



C ontrol of the sound system is one of 
the bigger omissions in the support 
services provided by DOS and BIOS. 

The PC timer can help make up for this 
lack. With the programs presented here, 
it can be used to generate a wide vari¬ 
ety of sounds in the PC. The IBM PC, 
PC/XT, and PC/r contain the Intel 8253-5 
programmable interval timer (PIT), and 
the PC/AT has an 8254-2 PIT; for all 
practical purposes, the two chips per¬ 
form their functions identically. (IBM 
technical reference documents refer to 
the PIT as the timer I counter chip.) 

All of the IBM PCs and ATs use a 
timer/counter input clock frequency of 
1.19318 MHz. The 8253-5 can run at a 
maximum input clock rate of 2 MHz. 
The 8254-2 tops out at 10 MHz accord¬ 
ing to the Intel specification sheets, but 
IBM runs it at the same 1.19318 MHz 
rate. This indicates that the original de¬ 
sign of the AT may have anticipated a 
higher timer clock rate, but IBM de¬ 
cided to maintain the same rate used in 
earlier PCs for compatibility reasons. 

The highly compliant PIT contains 
three independent timer/counter chan¬ 
nels. Each of the three timer/counter 
channels in the 8253-5 (and the 8254-2) 
PIT has the same design as summarized 
in figure 1. The external view of each 
channel shows a clock input, a gate 
lead, and an output lead. In addition, 
the entire chip has control registers and 
a data buffer. Each channel is pro¬ 
grammed by writing a control word (ac¬ 
tually a single byte) to port 43H, fol¬ 
lowed by a count, which is presented to 
port 42H as a sequence of two bytes. 

At the core of each channel is a 16- 
bit, synchronous down counter, which 
can be preset. This counting element is 
surrounded by input and output buffer¬ 
ing and control logic. On the input side 
of the counter is a pair of 8-bit registers 
(CR m and CR L ) that form a 16-bit count 
register , which latches the count pro¬ 
grammed by the CPU. The count is 
retained until it is reprogrammed. 


On the output side of the counting 
element is another pair of 8-bit regis¬ 
ters (OL m and OL l ) that form the 16-bit 
output latch , which normally contains 
the same value as the counting element. 
Under CPU control, however, the out¬ 
put latch remembers the count at the 
time of a read request so that a stable 
value can be obtained. After the value 
has been read, the output latch is al¬ 
lowed to return once again to following 
the counting element. 

The count register and output latch 
are each formed from two 8-bit regis¬ 
ters so that the 16-bit counting element 
can be accessed over the internal timer/ 
counter 8-bit bus, which is compatible 
with the external 8-bit data bus that is 
found in the PC. 

Each counter/timer channel can be 
individually programmed for one of six 
modes (MO through M5) of operation. 
(Refer to Intel’s “Microprocessor and 
Peripheral Handbook,” 1984, for pro¬ 
gramming details. Also, the article “Life 
in the Fast Lane,” by Bob Smith and 
Tom Puckett, PC Tech Journal , April 
1984, p. 62, contains a detailed introduc¬ 
tion to the PIT chips and their use as 
moderately high-resolution timers.) 

In a PC, channel 0 of the PIT is 
used to produce a regular timer inter¬ 
rupt at a frequency of approximately 
18.2 interrupts per second, as shown in 


figure 2. A count of timer interrupts is 
kept in the BIOS data area of memory 
and is referred to as the BIOS time-of- 
day clock. At each occurence of the tim¬ 
er tick, interrupt 1CH is triggered, al¬ 
lowing a service routine to be installed 
that executes 18.2 times per second. 

This interrupt is at the core of many 
multitasking systems. 

Channel 1 should not be tampered 
with because it is dedicated to RAM re¬ 
fresh. The gates to both channels 0 and 
1 are tied electrically high (equivalent 
to a logical 1) so that the counters are 
free running at all times and cannot be 
disabled by software. 

Channel 2 is part of the PC’s audio 
subsystem. The components of the au¬ 
dio system are highlighted in figure 2. 
The counter gate is controlled by bit 0 
of an 8255 programmable peripheral in¬ 
terface (PPI) device. The output of 
channel 2 and bit 1 of the PPI are logi¬ 
cally ANDed together and fed to the 
audio driver circuit. The output of the 
driver is fed to the speaker through a 
low-pass filter. This channel can be pro¬ 
grammed in a variety of ways in order 
to produce sound. 

SOUNDING OFF 

The C routines presented here provide 
a basic level of audio support for the 
PC. Combined with machine-indepen- 


FEBRUARY 1987 


173 


ILLUSTRATION • MACIEK ALBRECHT 






















PROGRAMMING PRACTICES 



SQL Compatible Query System adaptable to any 
operating environment. 


CQL Query System. A subset of the Structured 
English Query Language (SEQUEL, or SQL) 
developed by IBM. Linked files, stored views, 
and nested queries result in a complete query 
capability. File system interaction isolated in an 
interface module. Extensive documentation 
guides user development of interfaces to other 
record oriented file handlers. 

Portable Application Support System 

Portable Windowing System. Hardware 
independent windowing system with borders, 
attributes, horizontal and vertical scrolling. 

User can construct interface file for any 
hardware. Interfaces provided for PC/XT/AT 
(screen memory interface and BIOS only 
interface), MS-DOS generic (using ANSI.SYS), 
Xenix (both with and without using the curses 
interface), and C-library (no attributes). 

Screen I/O, Report, and Form Generation 
Systems. Field level interface between 
application programs, the Query System, and 
the file system. Complete input/output 
formatting and control, automatic scrolling on 
screens and automatic pagination on forms, 
process intervention points. Seven field types: 
8-bit unsigned binary, 16 bit signed binary, 16 
bit unsigned binary, 32 bit signed binary, 
monetary (based on 32 bit binary), string, and 
date. 

$395.00 

C Interpreter. Run the interpreter on any 
hardware and on any operating system. 
Develops true intermediate code, allowing full 
.C features in an interpreter. User configurable 
interface to compiler library allows linkage 
with compiled routines. 

HARDWARE AND FILE SYSTEM 
INDEPENDENT 

C J^URTZBERG 

Gomputer Systems 

41-19 BELL BLVD. 

BAYSIDE, N.Y. 11361 


VISA/Master Charge accepted 

(718) 2294540 


*C-tree is a trademark of FairCom 

IBM, SEQUEL, PC, XT, AT are trademarks of IBM Corp. 
MS-DOS and Xenix are trademarks of Microsoft Corp. 

CQL and the CQL Logo are trademarks of Kurtzberg Computer 
Systems. 


CIRCLE NO. 148 ON READER SERVICE CARD 

174 



The PIT chip has only one control word register that is shared by all three chan¬ 
nels (which are selected by two channel-select bits in the register). Channel status 
is also queried by presenting a command to the control word register. 


dent time delays, these functions and 
macros permit a wide range of audible 
sounds to be generated by the PC’s ru¬ 
dimentary sound system. 

The aim of these programs is to 
generate tones that run in the back¬ 
ground. The tones’ frequencies are de¬ 
rived from the timer/counter clock, not 
from any output of the CPU, so their 
pitch is not controlled by the CPU and 
will be completely independent of any 
activity in which it is engaged. 

The SPKR program, composed of 
SPKR.C (listing 1) and SOUND.H (listing 
2), allows the speaker to be turned on 
and off from the DOS command line or 
from batch files. Invoking SPKR ON 
(any argument in place of ON will 
work, too) turns the PC’s speaker on. 
Invoking SPKR without any argument 
turns the speaker off. 

The speaker-control macros, 
SPKR__ON and SPKR_OFF (defined in 
SOUND.H), control the state of bits 0 
and 1 of port 61H in the 8255 PPI chip 
(see figure 2). When both bits are set to 
logical one, achieved by ORing the cur¬ 
rent value of port 61H with 03H, the au¬ 
dio system passes the signal from the 


channel 2 timer/counter to an amplifier 
and low-pass filter and then on to the 
speaker. When either (or both) bits 0 
and 1 in port 61H is a logical zero, 
sound is turned off. This is accom¬ 
plished by the macro SPKR_OFF, which 
ANDs the current value in port 61H 
with FCH, the bitwise complement of 
03H. This sets bits 0 and 1 to 0 and 
leaves all other bits undisturbed. 

SPKR allows the user to turn sound 
on and off, but gives no control over 
the pitch of the tone emitted by the 
speaker. The TONE program, consisting 
of TONE.C (listing 3), SETFREQ.C (list¬ 
ing 4), and TIMER.H (listing 5), selects 
the frequency by setting the count value 
in channel 2 of the PIT. TONE accepts a 
single command-line argument (the de¬ 
sired frequency in Hertz), converts the 
character form of the argument to an 
integer, and calls setfreq. 

The setfreq function uses the val¬ 
ues defined in the TIMER.H header file 
to set mode and counter values of PIT 
channel 2. The TIMER_PREP constant is 
interpreted as shown in figure 3. The 
value to be placed in the PIT channel 2 
count register is the divisor needed to 


PC TECH JOURNAL 


























































































Sound can be turned on and off in two ways. The channel 2 timer can be gated on 
or off by using its gate input, or the timer can be allowed to run freely, and timer 
output can be passed to the speaker or blocked by the AND gate. 


FIGURE 3: TIMER prep’s Bit Fields 


B 

6 




1 0 

SCI SCO 

1 1 

RW1 RWO 


0 1 1 

M2 Ml MO 

0 

BCD 

SELECT 
COUNTER 
CHANNEL 2 

READ/WRITE MODE 3 

LSB FIRST, (SQUARE WAVE) 

MSB SECOND 

USE 

BINARY 

ENCODING 


Although the PIT supports six modes through mode bits M0-M2, only mode 3 
(square wave) is useflil in generating sound through the PC’s speaker. 


produce the desired frequency by the 
formula (timer clock rate / desired fre¬ 
quency). The counter is programmed 
by writing the TIMER_PREP value to the 
control port (TIMER_CTRL), followed 
by the least significant byte (LSB) and fi¬ 
nally the most significant byte (MSB) of 
the divisor. 

BEYOND BEEPS 

Turning the speaker on and off and 
setting the pitch is only part of the 
requirement for a useful package. The 
duration of tones must be controlled in 
a machine-independent way so that 
changes in processor clock speed and 
processor loading do not affect the 
sound being produced. 

The use of timing loops, which de¬ 
pend directly on the execution times of 
instructions, does not work. If the CPU 
clock crystal is changed, then the dura¬ 
tion of a sound also is changed. Instead, 
the duration should depend on the 


timer tick (18.2 times per second) or 
something else that is regular and unaf¬ 
fected by machine type and CPU clock 
speed. These programs use the timer 
tick as its CPU-independent reference. 

The constants TIMER_MAX and 
TICKRATE in TIMER.H are used by the 
second part of the sound-generation 
package. The delay function in DELAY.C 
(listing 6) takes a floating-point number 
of seconds and fractional seconds as a 
parameter and converts it to a long in¬ 
teger (ticks) that is the equivalent num¬ 
ber of BIOS timer ticks. The getticks 
function in GETTICKS.C (listing 7) is 
called to get the current tick count from 
the BIOS time-of-day (TOD) clock 
count stored in the BIOS data area. This 
number is added to the number of de¬ 
lay ticks to get the count for the future 
time (then) that marks the end of the 
desired delay period. Then delay re¬ 
peatedly queries the TOD clock until 
the returned value equals or exceeds 


the number stored in then, thus pro¬ 
ducing the required delay within about 
55 milliseconds, which is the resolution 
of the timer tick. 

Combining tone generation and 
delays produces a sound routine that 
behaves as the BASIC SOUND state¬ 
ment. The source for sound is in 
SOUND.C (listing 8). A frequency and 
a duration are specified. The function 
sets the specified frequency by calling 
setfreq, turns the speaker on, calls 
delay with the specified duration 
argument, and then turns the speaker 
off. The demonstration program in 
SOUNDS.C (listing 9) contains four 
examples of audible signals that can 
be produced by making sound func¬ 
tion calls with different arguments in 
various combinations. 

Recreating the executable files 
from the several source files presented 
here requires a fair number of compile 
and link operations. MAKEFILE (listing 
10) is used by MAKE (a utility that is 
provided with many C compilers) to 
control the compiling and linking of the 
SPKR, TONE, and SOUNDS programs 
along with the various modules of the 
sound package. Another file called 
TOOLS.INI (listing 11) contains infer¬ 
ence rules for use by the MAKE utility. 
With MAKE as provided with Microsoft 
C 4.0, it should be invoked as: 

MAKE MAKEFILE 

with the various source files in an ac¬ 
cessible directory. If MAKE is not avail¬ 
able, use the text of MAKEFILE as a 
guide to compiling and linking. 

With little or no DOS or BIOS sup¬ 
port, the PC sound system must be ma¬ 
nipulated by working very close to the 
hardware. This raises the possibility that 
future generations of PCs will imple¬ 
ment the sound system differently, and 
the routines presented here may be¬ 
come inoperative. The best defense, as 
always, is to understand the PC’s timers 
and the different ways they may be ap¬ 
plied, so that sound control software 
may evolve with the PC’s sound genera¬ 
tion hardware in a relatively painless 
way. In the overall design scheme, 
sound may not be the most important 
aspect of a computer, but when used 
well, it adds that extra touch of excel¬ 
lence to a good user interface. 1 Bmi ffil 


Augie Hansen is the owner of Omniware, a 
Denver-based consulting and training firm 
that specializes in DOS and UNIX topics. This 
article is based on material presented in his 
most recent book, Proficient Q soon to be 
published by Microsoft Press. 


FEBRUARY 1987 


175 










































































PROGRAMMING PRACTICES 


LISTING 1: SPKR.C 


/* 


spkr -- turn speaker ON/OFF 


* 

* no args => OFF 

* any arg(s) => ON 

V 

^include "sound.h" 

main(argc, argv) 
int argc; 
char **argv; 

C 

/* turn speaker on or off */ 
if (argc == 1) 

SPKR_OFF; 

else 

SPKR_ON; 

exit(O); 

> 


LISTING 2: SOUND.H 


/* 

* sound.h -- header for sound routines 

V 

#define PPI 0x61 

#define SPKR 0x03 

#define SPKR_ON outp(PPI, inp(PPI) | SPKR) 

#define SPKR_OFF outp(PPI, inp(PPI) & -SPKR) 


LISTING 3: TONE.C 


tone -- set the frequency of the sound generator 


7 


#inctude <stdio.h> 


main(argc, argv) 
int argc; 
char **argv; 




ft 


( 

extern void setfreq(unsigned int); 
if (argc »= 2) ( 

fprintf(stderr, "Usage: tone hertz\n"); 
exit<1); 


> 

/* set the frequency in Hertz */ 
setfreq(atoi(*++argv)); 
exit(0); 


LISTING 4: SETFREQ.C 

' 

/* 

* setfreq -- sets PCs tone generator to run 

* continuously at the specified frequency 


#include <conio.h> 
#include "timer.h" 



Mft; 


void 

setfreq(f) 

unsigned f; /* frequency in Hertz (approximate) */ 


C 

unsigned divisor = TIMER_CLK / f; 

outp(TIMER_CTRL, TIMER_PREP); /* prepare timer */ 

outp(TIMER_COUNT, (divisor & OxFF)); /* low byte of divisor */ 
outp(TIMER_COUNT, (divisor » 8)); /* high byte of divisor */ 



LISTING 5: TIMER.H 

/* 

* timer.h -- header for timer control routines 
*/ 

/* timer clock and interrupt rates */ 

#define TIMER_CLK 1193180L 

#define TIMER_MAX 65536L 

#define TICKRATE (TIMER_CLK / TIMER_MAX) 

/* timer port access for frequency setting */ 

#define TIMER_CTRL 0x43 

#define TIMER_COUNT 0x42 

#define TIMER_PREP 0xB6 

USTING 6: DELAY.C 

/* 

* delay -- provide a delay of ** approximately ** the 

* specified duration (resolution is about 0.055 second) 
*/ 

#include "timer.h" 


void 

delay(d) 

float d; /* duration in seconds and fractional seconds */ 

long ticks, then; 
extern long getticksO; 

/* convert duration to number of PC clock ticks */ 
ticks = d * TICKRATE; 

/* delay for the specified interval */ 
then = getticksO + ticks; 
while (1) 

if (getticksO > then) 


LISTING 7: GETTICKS.C 


getticks -- 


/* 

* 

*/ 

#include <dos.h> 




'rent BIOS clock ticks value 


#define TOO 

#define READ_COUNT 0 

#define TICKS PER DAY 



long 

getticksO 


- 


long count; 
union REGS inregs, outregs; 


/* get BIOS time of day as no. of ticks since midnight */ 
inregs.h.ah = READ_COUNT; 
int86(TOO, &inregs, Soutregs); 

/* correct for possible rollover at 24 hours */ 
count = (outregs.h.al != 0) ? TICKS_PER_DAY : 0; 

/* add current day ticks */ 

count += (outregs.x.dx + (outregs.x.cx « 16)); 



LISTING 8: SOUND.C 

/* 

* sound -- produce a constant tone for a specified duration 

V 

#include <conio.h> 

#include "sound.h" 

void 

sound(f, dur) 

unsigned int f; /* frequency of pitch in Hertz */ 


176 


PC TECH JOURNAL 












float dur; /* in seconds and tenths of seconds */ 
f 

extern void setfreq(unsigned int); 
extern void detay(float); 

/* set the frequency in Hertz */ 
setfreq(f); 

/* turn the speaker on for specified duration */ 

SPKRJDN; 

delay(dur); 

SPKR_OFF; 

> 

LISTING 9: SOUNDS.C 


#include <stdio.h> 

#include <conio.h> 

#include <math.h> 

#define ESC 27 

extern void sound(unsigned int, float); 
main() 

int ch; 

fprintf(stderr, "1=warble 2=error 3=confirm 4=warn\n"); 
fprintfCstderr, "Esc=quit\n M ); 
while ((ch = getchO) != ESC) 


switch (ch) C 


case 1 1 

1 • 

warble(); 
break; 

case '2 

i. 


errorQ; 


break; 

case '3 

1 • 


confirm() ; 


break; 

case '4 ! 

i. 


warn(); 


break; 


> 

exit(O); 


> 


#define CYCLES 

3 

#define LOTONE 

600 

#define HI TOME 

1200 

#define PERIOD 

0.1 

warble() 


C 


int i; 


for (i 

= 0; i < 2 * CYCLES; ++i) 


if (i % 2) 


sound(LOTONE, PERIOD); 

else 

sound(H!TONE, PERIOD); 

> 

error() 

C 

float d = 0.1; 
sound(440, d); 
sound(220, d); 

} 

confirm() 

C 

float d = 0.1; 

sound(440, d); 
sound(880, d); 

> 

warn() 

C 

float d = 0.2; 


sounddOO, d); 

> 

LISTING 10: MAKEFILE 


# makefile for 

time delay and sound routines 

# --- timing and sound functions — 

delay.obj: 

delay.c timer.h 

getticks.obj: 

getticks.c 

setfreq.obj: 

setfreq.c timer.h 

sound.obj: 

sound.c sound.h 

sounds.obj: 

sounds.c 

spkr.obj: 

spkr.c sound.h 

tone.obj: 

tone.c 


# --- demonstration programs --- 
sounds.exe: sounds.obj sound.obj 


link $* sound delay getticks setfreq; 
spkr.exe: spkr.obj 

link $*; 

tone.exe: tone.obj 

link $* setfreq; 


LISTING 11: TOOLS.INI 


[make] 

.c.obj: 

msc $*; 


80386 

SOFTWARE DEVELOPMENT TOOLS 

The PharLap 8038 6 Software Development Series: 

386 1 ASM/LINK by Phar Lap (MS-DOS®) $495 

Full-featured macro assembler and linker. Includes a de¬ 
bugger and 32-bit protected mode runtime environment. 

80386 High-C™ by MetaWare (MS-DOS®) $895 

80386 Professional Pascal™ (MS-DOS®) $895 

by MetaWare 

UNIX™ and VAX/VMS® cross tools (call) 

The wait for professional software development tools 
for the 80386 is over! Whether you are upgrading an 
existing IBM PC application to the ’386, moving a 
mainframe application down to a PC, or writing the 
next PC best-seller, the Phar Lap 80386 Software 
Development Series is for you. It is an integrated line 
of products which provides everything you’ll need to 
create and run 80386 protected mode applications 
under MS-DOS. 

(617) 661-1510 

Phar Lap Software, Inc. “The 80386 Software Experts” 
60 Aberdeen Ave. Cambridge, MA 02138 


FEBRUARY 1987 


CIRCLE NO. 146 ON READER SERVICE CARD 


177 












IF YOU NEED $5,000.. $20,000 EVEN UP TO $500,000 TO 
START A NEW BUSINESS OR TO EXPAND AN EXISTING 
FIRM—THEN READ WHY YOU TOO WILL CALL THIS 
INCREDIBLE MONEY RAISING 


BUSINESS OPPORTUNITY SEEKERS’ LOANS MANUAL 
“The Small Business Borrower’s Bible 

Practically prepares the loan application for you line-by-line...the “proper” way. 

All properly prepared applications are processed faster...no red tape! 


EVERY 

LOAN DOLLAR 
YOU GET 
YOU KEEP 
AND USE TO 
OPERATE 
YOUR BUSINESS 


Guaranteed Loans...Direct Loans...and Immediate Loans are available now! 

Most men and women seriously interested in starting their own business are eligible to apply — including those who already own a business and need 
capital fast for expansion...or to stay afloat...even if they’ve been flatly refused by banks and turned down elsewhere! Yet, too many never qualify, simply 
because they do not know how to “properly’’ prepare the loan application... 


In order to help those people 
applying for these guaranteed and 
direct loans fill out their loan appli¬ 
cations the "right way" our business 
researchers, with their diligent com¬ 
pilation and effective efforts, have 
successfully assembled and pub¬ 
lished a comprehensive, easy-to- 
follow seminar manual: The Business 
Opportunity Seekers’ Loans Manual, i 
that will quickly show you practically | 
everything you’ll need to know to prepare 
a loan application to get federally 
Guaranteed and Direct Loans. 

Here are just some of the many 
important benefits the Business 
Opportunity Seekers’ Loans Manual 
provides you with: 

• a completely filled in sample set 
of actual SBA loan application 
forms, all properly filled in for 
you to easily follow—aids you in 
quickly preparing your own 
loan application the right way. 
Each line on the sample appli¬ 
cation forms is explained and 
illustrated in easy-to-under- 
stand language. 

• fast application preparation 
procedures for getting loans for 
both new start up business 
ventures and established firms. 

• advises you on how to properly 
answer key questions neces¬ 
sary for loan approval and in 
order to help avoid having your 
application turned down—gives 
you advice on what you should 
not do under any circumstances. 

• what simple steps you take to 
guarantee eligibility—no matter 
if you do not presently qualify. 

• where you can file your appli¬ 
cation for fastest processing. 

At this point the most important 

question you want answered is 
Just where is all this loan money 
coming from 7 Incredible as it may 
sound—these Guaranteed Loans. 

Direct Loans and Immediate 
Loans are indeed available right 
now — from the best, and yet. the 
most overlooked and frequently 
the most ignored and sometimes 
outright ridiculed made-fun-of 
source of ready money fast 
capital, m America — THE 
UNITED STATES GOVERNMENT 
Of course there are those who 
upon hearing the words ' UNITED 
STATES GOVERNMENT will 
instantly freeze up and frown and 
say 

“ only minorities can get small 
business loan money from the 
government!” 

Yet on the other hand (and most 
puzzling) others will rant on and on 
and on that 

“ . don’t even try, it’s just impos¬ 
sible — all those Business Loans 
Programs are strictly for the Chryslers, 
the Lockheeds, the big corpora¬ 
tions, not for the little guy or small 
companies” etc. 


Sti‘11 there are those who 
declare 

"...I need money right now and 
small business government loans 
take too dam long Its impossible 
to qualify No one ever gets one of 
those loans ' 

Or you may hear these 
comments 

My accountant's tumor 
assistant says he thinks it might be 
a waste of my time 1 " “Heck, there s 
too much worrisome paperwork 
and red tape to wade through.” 

Frankly — such rantings and 
ravings are just a lot of “bull” 
without any real basis — and only 
serve to clearly show that lack of 
knowledge ... misinformation ... 
and not quite fully understanding 
the UNITED STATES GOVERN¬ 
MENT'S Small Business Adminis¬ 
tration's (SBA) Proqrams have 
unfortunately caused a lot of 
people to ignore what is without a 
doubt — not only the most 
important and generous source of 
financing for new business start 
ups - and existing business 
expansions in this country — but 
of the entire world 1 
Now that you've heard the "bull” 
about the United States Govern¬ 
ment's SBA Loan Program — take 
a few more moments and read the 
following facts 

• Only 9.6% of approved loan* * 
were actually made to minorite* 
last year 

• What SBA recognizes as a 
"small business" actually 
applies to 97% of all the 
companies in the nation 

• Red tape comes about only 
when the loan application is 
sent back due to applicant not 
providing the requested infor¬ 
mation...or providing the wrong 
information 

• The SBA is required by 
Congress to provide a minimum 
dollar amount in business loans 
each fiscal year in order to law¬ 
fully comply with strict quotas. 
(Almost 5 billion this year) 

Yet. despite the millions who 
miss out — there are still literally 
thousands of ambitious men and 
women nationwide who are prop¬ 
erly applying — being approved 
— and obtaining sufficient funds 
to either start a new business, a 
franchise, or buy out or expand an 
existing one Mostly they are all 
just typical Americans with no 
fancy titles, who used essentially 
the same effective know-how to 
fill out their applications thatyou'll 
find in the Business Opportunity 
Seekers’ Loans Manual 

So don t you dare be shy about 
applying for and accepting these 
guaranteed and direct government 
loans Curiously enough the 
government is actually very much 


GUARANTEE #1 

Simply — look over this most 
effective money raising loan 
preparation assistance manual 
for 15 days — and. then, if you 
are not convinced that it can 
actually help you obtain the 
Business Loan you need right 
away — just return it for a full 
and prompt refund 


GUARANTEE #2 

Even after 15 days — heres how 
you are still strongly protected 
- if you decide to keep the 
manual — and you apply for an 
SBA Loan anytime within 1 
year your loan must be 

approved and you must actually 
receive the funds or your money 
will be refunded in full 


interested in helping you start a 
business that will make a lot of 
money It's to their advantage — 
the more money you make the 
more they stand to collect in taxes 
in fiscal 1986, our nation’s good old 
generous "uncle" will either lend 
directly or guarantee billions of 
dollars m loan requests, along with 
technical assistance and even 
sales procurement assistance 
Remember. If you don't apply for 
these available SBA funds 
somebody else certainly will. 

Don't lose out — now is the best 
time to place your order for this 
comprehensive manual It is not 
sold in stores. Available only by 
mail through this ad, directly from 
Financial Freedom Co., the ex¬ 
clusive publisher, at just a small 
fraction of what it would cost for 
the services of a private loan 
advisor or to attend a seminar. 

For example: 

Initially, this amazing Guaran¬ 
teed and Direct Loans Manual was 
specially designed to be the basis 
of a Small Business Loan Seminar 
— where each registrant would 
pay an admission fee of S450 But 
our company felt that since the 
manual's quality instructions were 
so exceptionally crystal-clear that 
anyone who could read, could 
successfully use Its techniques 
without having to attend a seminar 
cr pay for costly private loan 
advisory assistance services 

Therefore, for those purchasing 
the manual by mail. no3day class, 
no course and accommodations 
are required And rather than S450 
we could slash the fyice all the 
way down to just a mere $20 — a 
small portion of a typical serftmar 
attendance fee — providing you 
promptly fill m and mail coupon 
below with fee while this special 
seminar-m-print" manual offer is 
still available by mail at this rela¬ 
tively low price 1 

Remember, this most unique 
manual quickly provides you with 
actual sample copies of SBA Loan 
application and all other required 
forms—already properly filled m 
for you to easily use as reliably 
accurate step-by-step guides — 
thus offering you complete 
assurance that your application 
will be properly prepared and 
thereby immediately putting you 
on the right road to obtaining fast 
no r ed-tape loan approval 


Only because we are so confi¬ 
dent that this is a fact do we dare 
make such a strong binding 
seldom-heard-of Double 
Guarantee No stronger 
guarantee possible! _ 

Of course, no one can guarantee 
that every request will be ap¬ 
proved—but clearly we are firmly con¬ 
vinced that any sound business re¬ 
quest properly prepared —showing a 
reasonable chance of repayment and 
submitted to SBA —will be approved. 

THOUSANDS ARE 
PROPERLY APPLYING 
AND BEING APPROVED. 
HERE’S YOUR CHANCE 
TO JOIN THEM! 


GUARANTEED YOUR LOAN MUST BE APPROVED OR MONEY BACK - ONLY A 
SMALL PRICE TO PAY FOR THE LOAN YOU CAN GET . NO RISK AND NO HASSLES. 


FREE BONUS 

If you order your manual 
today you’ll receive a valuable 
treasury of fast. easy, low- 
capital and highly profitable 
business programs worth forty- 
five dollars — yours abso¬ 
lutely free' 


100% tax deductible as .a 
business expense. Don’t delay — 
order your copy today! 
i NO RISK LOAN OPPORTUNITY FORM 


Detach and rush lor 
COMPLETE PREPARATION 
ASSISTANCE FOR LOAN APPROVAL 


Please rush me_copies of 


“Business Opportunity Seekers’ 
Loans Manual” each at a $20 fee 
plus $3.00 handling and shipping. 

I am fully protected by the two strong 
guarantees above. I'm ordering today 
- so I can receive FREE - the valuable 
treasury of fast, easy, low-capital and 
highly profitable business programs 
worth forty-five dollars - mine free 
to keep even if I decide to return the 
manual for a full refund. 

Cj Enclosed is Full Payment 
□ Cash [ Check i Money Order 
Send payment with order. 

Name_ 

Please Print Clearly 
Address_ 


City. 


-Zip 


State _ 

MAIL TO: 

Financial Freedom Publishers 
110 W. 5th St. 

Winston-Salem, NC 27101 

©1985 

























PRODUCTWATCH 

Reviews 

and 

Updates 



VECTOR87 

Magic Software , Inc. 



ADIC MODEL TD 

ADIC 


440 


■ HIGH-C 

MetaWare, Inc . 



C ombining the assembly language 
routines in Magic Software’s vector- 
87 library with interpreted Microsoft 
BASICA is like bolting a 100-horse- 
power motor on a dingy. Taking a 
1,024-point Fast Fourier Transform in 
2.5 seconds with interpreted BASIC is 
positively neck-snapping. vector87’s 
package of 312 optimized assembly lan¬ 
guage routines provide lightning-fast, 
accurate vector and matrix manipula¬ 
tions. The minimum requirements for 
using the vector87 library are an 8087 
or 80287 numerical coprocessor in an 
IBM PC or PC/AT machine with at least 
256KB of RAM and two diskette drives. 
The routines are not copy protected. 

vector87 offers a huge variety of 
single- or double-precision vector and 
matrix manipulations from a single-line 
GALL statement. It can be used to solve 
linear systems of equations, invert ma¬ 
trices, take fast Fourier transforms, eval¬ 
uate transcendental and hyperbolic 
functions and their inverses in real or 
complex form, find histograms, do table 
look-ups, calculate mean square roots, 


generate arrays of random numbers, 
and evaluate polynomials. vector87 also 
can perform a wide variety of complex 
vector and matrix manipulations, logical 
operations and comparisons, Cartesian 
to polar conversions, and more. 

The first step in using vector87 is 
to enter BASICA/M:,&H2000 at the DOS 
prompt. This reserves room for the as¬ 
sembly language routines outside of the 
BASICA code segment so that the BASIC 
source code can still occupy as much as 
64KB of RAM. The BASIC source code 
then can be written—defining the de¬ 
sired precision, declaring all subroutine 
parameters, and, finally, CALLing upon 
any of the needed library functions with 
a single line of BASIC with a sensible 
and clear syntax. The application source 
code then is merged with a provided 
vector87 BASIC source file. When the 
completed program is run, all essential 
assembly language code containing all 
of the necessary assembly code inter¬ 
face is BLOADed by one GOSUB call 
that is provided with the package. 

The documentation is well written 
and clearly indexed. The system in¬ 
cludes BASIC program examples that 
call each vector87 subroutine at least 
once. Several Turbo Pascal programs 
also are included so that users with 
Turbo-87 Pascal can compile them and 
compare their execution times with the 
corresponding vector87 demos. Gener¬ 
ally, the demos execute 20 to 50 per¬ 
cent faster than similar code written in 
Turbo-87 Pascal. This percentage is a bit 
misleading because it does not contain 
some of the interpreted BASIC sections 
of code that may be necessary. 

This package is not a set of gen¬ 
eral-purpose numerical analysis rou¬ 
tines, but one that focuses on vector 
and matrix manipulations. For example, 
to evaluate an integral numerically, to 
find the roots to a function, or to inte¬ 
grate a differential equation, these rou¬ 
tines must be built from scratch. Even if 
some of the primitives from vector87 


can be used, the user usually will have 
to perform some of the calculation with 
interpreted BASIC alone, which loses 
much of the performance gains realized 
from the assembly language routines. 
This is especially a problem because in¬ 
terpreted BASIC uses a format different 
from the IEEE real-number format used 
by the 8087. Also, because vector87’s 
machine code functions cannot call one 
another, control must return to inter¬ 
preted BASIC after each function call. In 
applications that must execute a great 
many of the function calls, performance 
may lag significantly behind the per¬ 
formance of a Turbo-87 Pascal program 
written to accomplish a similar task. 

For all its power, serious problems 
arise in using vectors, which require a 
cold reboot to ultimately escape. The 
worst problems come from the nonex¬ 
istent error trapping for calls to the as¬ 
sembly language routines. Each routine 
requires strict type-assignment; only 
variables (not constants) can be passed 
to subroutines, and all parameters must 
be initialized before they are passed, 
even if the initialization is equal to 0, as 
BASIC does by default. No error mes¬ 
sages occur if any one of these con¬ 
straints is violated or if a subroutine 
that was not previously BLOADed is 
called. The manual says, “As these func¬ 
tions operate outside the environment 
and protection of BASIC, it is entirely 
up to you to ensure that the parameters 
in the CALL list match the number, type, 
and length with the parameters ex¬ 
pected by the vector87 function. Any 
mismatch here will cause the operating 
system to ‘crash.’ This should be easy to 
ascertain as BASIC will likely fail to re¬ 
spond to keyboard commands.” Obvi¬ 
ously, a crash is “easy to ascertain” 
when a cold reboot is required. 

There are no return codes to indi¬ 
cate whether a routine has been com¬ 
pleted properly or not. Truly nefarious 
problems happen when errors are si¬ 
lently generated and all seems well—a 


FEBRUARY 1987 


179 




PRODUCT WATCH 


situation that occurs all too easily. For 
example, if the user tries to invert a ma¬ 
trix and fails to set a calling parameter 
that specifies the number of arrays in a 
vector of arrays, BASIC will initialize the 
parameter to equal 0—a meaningless 
value in this context. The matrix inver¬ 
sion routine then just quietly generates 
errors and returns meaningless values 
as if nothing is wrong. 

The same silent generation of er¬ 
rors occurs when the user attempts to 
invert a singular matrix—one with a 
determinant equal to 0 and, hence, no 
inverse. The routines do not check to 
see if the array subscripts are within 
bounds. Once again, the manual states, 
“Overrunning array bounds, particularly 
when storing data to memory, will gen¬ 
erally crash the system at best or at 
worst give you no indication of a fault 
but wrong answers and perhaps a 
BASICA interpreter that doesn’t work 
correctly!” This wild behavior is ration¬ 
alized in the manual with the statement, 
“vector87 does not check subscripts 
against bounds and gives you back that 
time for number crunching. The price 
you pay for this added speed is that 
VECTOR87 leaves it to you to manage 
your own data resources.” Anyone with 
programming experience knows this is 
completely false economy. Only small 
amounts of code and execution over¬ 
head are required to check for reason¬ 
able input parameters and index array 
bounds. Then the user is free from any 
uncertainty and many hours of frustrat¬ 
ing debugging as well. 

Debugging BASIC with VECTOR87 
code is extremely frustrating. For exam¬ 
ple, although BASIC automatically ini¬ 
tializes all variables to 0, if the user 
does not explicitly initialize the deter¬ 
minant of the matrix (found as part of 
the inversion algorithm) to 0 before 
calling the matrix inversion routine, the 
system locks. Interpreted BASIC permits 
easy coding and debugging, even if the 
BASIC editor seems painful by modern 
standards. With the unruly assembly lan¬ 
guage routines from vector87, however, 
frequent crashes occur without a clue 
as to the cause. 

Until the error trapping and debug¬ 
ging improves, vector87 cannot be rec¬ 
ommended. Anyone desiring serious 
numerical analysis should get one of 
the good standard compilers on the 
market and a set of numerical analysis 
routines. Although useful work can be 
accomplished with vector87’s fast rou¬ 
tines, the development process often is 
more difficult than it should be. 

—VICTOR MANSFIELD 


ADIC MODEL TD 440 DATA 
CARTRIDGE TAPE SYSTEM 

ADIC 

P.O. Box 2996 
Redmond , WA 98013 
206/881-8004 

PRICE: $1,595 



T he ADIC Model TD 440 Data Car¬ 
tridge Tape System is a miniature 
version of ADIC’s Model 552, which was 
reviewed in “Moving Up To Tape” 
(Steven Armbrust and Ted Forgeron, 
November 1985, p. 63). While the 
Model 552 is as large as the typical 
computer’s system unit, the Model TD 
440 measures only 10 inches by 6 
inches by 3.25 inches and can be easily 
squeezed onto a crowded desktop. 

This unit’s small size is attributable 
to its tape format. Instead of using 5 V 4- 
inch cartridge tapes, the Model TD 440 
uses the new 3M 3-inch DC2000 mini¬ 
tapes. On each of these tapes, the Mod¬ 
el TD 440 can store 40MB of data. If 
this is not enough, a backup session can 
be split across multiple tapes. 

The tape drive plugs into an SCSI 
(Small Computer Systems Interface) 
controller, a half-size card that can fit in 
the short slot of a PC/XT. Installation is 
simply a matter of inserting the card 
and connecting the cable, although the 
DMA channel used for tape operations 
can be changed via jumpers, if the de¬ 
fault channel (2) conflicts with other 
hardware in the user’s system. An addi¬ 
tion to the CONFIG.SYS file is all that is 
needed to make the drive ready to use. 

Like other ADIC units, the Model 
TD 440 sacrifices speed for data integ¬ 
rity. For example, each time a new tape 
cartridge is inserted, the drive spends 
between one and two minutes perform¬ 
ing electrical and mechanical align¬ 
ments. During this time, the drive re¬ 
winds the cartridge, sets the amplifier 
gain control, retensions the tape, re¬ 
aligns the head in reference to the edge 
of the tape and to the data tracks, and, 
finally, verifies its ability to read the 
tape’s formatting information. 

Although the Model TD 440 accepts 


any DC2000 tapes, the amount of time 
required to format a tape will lead most 
users to order preformatted tapes di¬ 
rectly from ADIC. Each blank tape re¬ 
quires a low-level format that consumes 
approximately 48 minutes, and a DOS 
format that consumes 2 minutes. Once 
the low-level format has been done, it 
need not be done again, even if margi¬ 
nal or bad blocks develop. Instead, a 
verify operation can be performed to 
map out the bad blocks. This verify op¬ 
erations takes about 25 minutes. 

The formatting time is lengthy, in 
part because the tape is set up as either 
one 32MB or two 17.8MB DOS vol¬ 
umes; creating DOS format information 
on a tape is much more complex than 
preparing a tape for a simple streaming 
drive. File I/O can be performed just as 
it is on any DOS volume, using stan¬ 
dard COPY, ERASE, and DIR commands 
available with DOS. The drive is treated 
just like a hard disk, taking the next (or 
next two) drive letters when the system 
is initialized. Programs can even be exe¬ 
cuted from tape, just as if they resided 
on a disk drive. Another reason for the 
unit’s lengthy format is that it must gen¬ 
erate one error-correction block for 
every three data blocks. 

In addition to working with stan¬ 
dard DOS commands, the Model TD 
440 also includes special backup and 
restore programs called SARCHIVE and 
SRESTORE. SARCHIVE can operate in 
automatic mode, in which it backs up 
all subdirectories under the starting 
directory, or it can prompt to continue 
after backing up each directory. In addi¬ 
tion, the user can create a file that lists 
specific files or directories to include or 
exclude when backing up. An option is 
also available to generate a log file 
showing each file that was backed up 
during the session. 

Both the SARCHIVE and SRESTORE 
programs display convenient statistics 
while performing their operations. They 
estimate the time of completion before 
beginning the backup or restore opera¬ 
tion and display the elapsed time as 
they proceed. The number of files and 
directories, as well as the amount of 
data backed up or restored (in kilo¬ 
bytes) also are updated constantly. The 
files that SARCHIVE stores on tape also 
can be accessed by the standard DOS 
commands. Therefore, after using 
SARCHIVE to back up a disk drive, the 
tape can be examined by using' the DIR 
command (for example, DIR D: if the 
tape drive is drive D). 

The SARCHIVE and SRESTORE pro¬ 
grams are menu driven, but they also 


180 


PC TECH JOURNAL 









can be invoked from the command line 
for inclusion in a batch hie. In addition, 
the Model TD 440 includes a program 
called WAITUNTL that enables the 
backup program to be invoked now for 
execution at a later time. 

The one area in which the Model 
TD 440 is lacking is speed. Backing up 
approximately 10MB of data (10,223,616 
bytes in 614 hies and 23 directories) 
takes 17 minutes and restoring the 
same amount of data takes 90 minutes. 
This is approximately the same per¬ 
formance as the Model 552, and that 
unit was one of the slowest tested. 

Despite the slow performance of 
the Model TD 440, the sophisticated 
error detection/correction algorithms 
used in the unit may convince users 
who are particularly concerned about 
data integrity that the extra time is well 
spent. One out of every three 8,192-byte 
blocks of data is devoted exclusively to 
error correction. Therefore, if an error 
occurs in one block of data, the tape 
drive can correct it by comparing the 
error correction block with the other 
associated data block. 

The Model TD 440 offers all of the 
features of the Model 552 in a much 
smaller, and more convenient, package, 
but users must be willing to put up 
with its lengthy backup sessions. 

—STEVEN ARMBRUST 



HIGH-C 

MetaWare, Inc. 

903 Pacific Avenue , Suite 201 
Santa Cruz, CA 95060-4429 
408/429-6382 

PRICE: $493 


CIRCLE 350 ON READER SERVICE CARD 


M etaWare’s High-C stands out in con¬ 
trast to down-sized and scaled-back 
C compilers. High-C is even an excel¬ 
lent alternative to the venerable Micro¬ 
soft C and Lattice C compilers. High-C 
also has some uniques features that will 
appeal to software product developers. 


The basic specifications for High-C are 
shown in table 1. 

The compiler is shipped with sev¬ 
en diskettes. Installation of the compiler 
is done by a .BAT file that creates the 
necessary subdirectories and copies the 
libraries and modules to them. A hard 
disk is required to use the High-C; with 
all of the memory models installed, the 
compiler and libraries occupy 2.6MB. 
The installation process is clearly ex¬ 
plained in the manual. Several demon¬ 
stration programs can be run to verify 


that the compiler is functioning prop¬ 
erly; sample compilations for all mem¬ 
ory models are included. 

Along with the compiler and librar¬ 
ies, High-C offers a directory that is full 
of UNIX-like utilities, including MV 
(move) and FGREP (a pattern finder). 

An even more useful addition to High-C 
is a cross-reference utility that generates 
a listing of functions and variables that 
are assigned and referenced within a C 
program. Unlike many cross-refer- 
encers, it can process include files and 



The Digi-Data 2000 PC tape system reads and writes 
IBM/ANSI compatible, 9 track, 1600 bpi, V 2 inch tapes. 
It comes complete with PC controller board, cables and 
DOS software utilities. Just plug it in and run. 

The 2000 PC provides file interchange in ASCII, 
EBCDIC or binary. That means you can exchange data 
between your PC and most minis or mainframes. 

The 2000 PC also provides high speed disk backup and 
restore functions. 


For all the reasons you 
need a 9 track tape on your 
IBM PC/XT/AT, call us at 
(301) 498-0200. 



DIGI-DATA 
CORPORATION 
8580 Dorsey Run Road 
Jessup, MD 20794-9990 
(301) 498-0200 Telex 87-580 


... First In Value 


In Europe contact: Digi-Data Ltd. • Unit 4 • Kings Grove • Maidenhead, Berkshire 
England SL6 4DP • Telephone No. 0628 29555/6 • Telex 847720 


CIRCLE NO. 123 ON READER SERVICE CARD 


FEBRUARY 1987 


181 













PRODUCT WATCH 


multiple modules. To use the cross-ref- 
erencer, a compilation option must be 
selected to generate a cross-reference 
file along with the object. 

Table 2 lists the features of the 
High-C compiler and language. High-C 
is implemented as a command that gen¬ 
erates an .OBJ file which must be 
linked to produce a final .EXE file. In 
actual use, the compiler operates in one 
of two distinct environments, High-C 
and ANSI standard. The High-C environ¬ 
ment is a superset of K&R (Kernighan 


and Ritchie) C, but with extensions, 
such as the ability to use underscores in 
constants, to intermix declarations and 
statements anywhere in a function, and 
to use long (up to a line in length) 
identifiers. These extensions are for im¬ 
proved readability and maintenance of 
source code. Another convenience is 
High-C’s implementation of frequently 
used functions, such as abs( ), min( ), 
and move( ), as intrinsic functions that 
have been optimized by MetaWare for 
the target processor. 


TABLE 1: Specifications 


Version tested 1.3 

Supported on other systems See text 
Cross-compiler hosts See text 

Availability of libraries Yes 

Minimum disk space 1.3MB 

Minimum RAM 256KB 


Supports full language 

Yes 

Full standard library 

Yes 

PC-specific functions 

Yes 

Assembly language interface Yes 

COMPATIBILITY 


MASM 

Yes 

LINK 

Yes 

SOURCE CODE 


Start-up sequence 

No 

Library functions 

No 

MEMORY MODELS 


Large 

Yes 

Medium 

Yes 

Compact 

Yes 

Small 

Yes 

COM 

No 

OTHER PROGRAMS 


INCLUDED 


Librarian 

No 

Assembler 

No 

Linker 

No 

Source-level debugger 

No 

MAKE 

No 

Other 

See text 


These specifications can be compared with those ; j 
for other C compilers in table 1 in “The State of 
C, " (William J. Hunt, January ; 1986, p. 84). See 
also table 1 in Marty Franz’s Product Watch re¬ 
views of Whitesmith's C Compiler (June 1986, 
p. 201), Let's C (August 1986, p. 177) and MIX 
C (September 1986, p. 191) 


High-C supports all memory models 
and creates .OBJ files that are linkable 
by DOS LINK or Phoenix Plink86. 


Along with these minor extensions, 
High-C has included some radical ones, 
namely parameter associations, nested 
functions, and full-function values. Us¬ 
ing named parameter associations (a 
concept borrowed from Ada), a pro¬ 
grammer is able to call a function and 
specifically match the function’s param¬ 
eter names with their chosen values us¬ 
ing = >. Thus, he can choose the order 
of a function’s parameters. With Pascal¬ 
like nested functions, a C programmer 
can write private functions that share 
data inside other functions, thereby in¬ 
creasing the ability to hide data in a 
module. The full-function values allow a 
programmer to store a nested function’s 
environment and its value in another 
variable and to reference the entire 
environment through it. 


The Most Powerful & 

Flexible Source Code Revision 
& Version Control System. 

The POLYTRON Version Control System (PVCS) allows programmers, project 
managers, librarians and system administrators to effectively control the proliferation 
of revisions and versions of source code in software systems and products. PVCS is a superb 
tool for programmers and programming teams. If you allow simultaneous changes to a 
module PVCS can merge the changes into a single new revision. If changes conflict, 
the user is notified. Powerful capabilities include: Stores and retrieves multiple revisions 
of text; Maintains a complete history of revisions to act as an “audit trail” to monitor 
the evolution of a software system; Maintains separate lines of development or “branch- 
ing”; Provides for levels of security to assure system integrity; Uses an intelligent 
“difference detection” to minimize the amount of disk space required to store a new 
version. Requires DOS 2.0 or higher. Compatible with the IBM PC, XT, AT and other 
MS-DOS PCs. 

Only PVCS meets the needs of Independent Programmers and Corporations. 
Once you standardize on PVCS, the “Logfiles” used to track and monitor 
changes are interchangable between any PVCS product. You will receive full 
credit for your initial purchase if you upgrade to a higher-priced PVCS. 

— Offers most of the power and flexibility of the 
Corporate PVCS, but excludes the features necessary for multiple- 
programmer projects. 

— Offers additional features to maintain source code of very 
large and complex projects that may involve multiple programmers. Includes 
“Branching” to effectively maintain code when programs evolve 
on multiple paths (e.g., new versions for different systems, or a new 
program based on an existing program). Single user. 

— Extends Corporate PVCS for use on Networks. File locking 
and security levels can be tailored for each project. 5-Station 
License $1,000. Call (503) 645-1150 for pricing on Licenses for 
more than 5 Stations. 

VISA/MC ♦ Dept. No. 310. 

Oregon and outside US call (503) 684^3000. Send Checks, P.O.s to: POLYTRON 
Corporation, 1815 NW 169th Place, Suite 2110, Dept. 310, Beaverton, OR 97006. 

■polytro« 

High Quality Software Since 1982 

CIRCLE NO. 164 ON READER SERVICE CARD 


182 


PC TECH JOURNAL 

































Consult with the expert^ 


When you're the 
f EMM PC systems ex- 
PORNAL pert yo U r com- 

" Every issue pro- 

vides you with 
technical insights into IBM PC and 
compatible systems to help you 
solve problems and questions that 
you find in your job. 


Subscribe to PC TECH JOURNAL now 
and save 50%! 

□ One year (13 issues] $26.70. □ Two years (26 issues] $53.35 

Includes Special PC TECH JOURNAL DIRECTORY Issue, 
published in November. 

Mr./Mrs./Ms.__ 


5S373 


Company. 


Address. 


State __Zip__ 

Check one: □ Payment enclosed □ Bill me later 
Savings based on annual single-copy price of $53.35. 

Add $8 per year for postage in Canada and all other foreign countries, 
US currency only. Please allow up to 60 days for delivery of first issue. 
Basic annual subscription price is $34.97. 


FREE WITH YOUR PAID SUBSCRIPTION, 
THE PC TECH JOURNAL DATA MANAGER 
REVIEW, A COMPREHENSIVE EVALUATION 
OF 7 LEADING DATA MANAGERS WITH 
BENCHMARK TESTS! 


— 




77T^^HflMSrriSH 

































I I II NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 66 BOULDER. COLORADO 
POSTAGE WILL BE PAID BY ADDRESSEE 


TE<SH 

OURNAL 

- P.O.BOX 52077 

BOULDER, CO 80321-2077 




II..I.II.II.nl,In,IM,III, mI.mIL,III,„ l 







TABLE 2: Compiler. Functions 


TABLE 3: Documentation Quality 


COMPILER OPERATION 


Single-step compile command 

Yes 

Compile and link 

No 

Accepts lists of files 

No 

Accepts wild cards 

No 

Lists preprocessor output 

Yes 

Lists assembler output 

Yes 

Line numbers in error messages 

Yes 

Header file search list 

Yes 

Flexible disk file layout 

Yes 

C LANGUAGE EXTENSIONS 


Embedded assembly language 

No 

Void function returns 

Yes 

Enumerated types 

Yes 

Structure assignment, etc. 

Yes 

Function argument checking 

Yes 

LIBRARY EXTENSIONS 


Math functions (sqrt, exp, etc.) 

Yes 

Unbuffered file I/O 

See text 

Keyboard input (low-level) 

See text 

PC screen output (cursor control, 

See text 

cursor attributes, scroll) 


Execute programs/DOS 

No 

(exec/fork and system) 


DOS services (date, time, etc.) 

See text 

PC-specific functions 

Some 

UNIX-compatible functions 

Yes 

Error recovery (setjmpQ, longjmpQ) 

Yes 

FILE I/O 


Redirection 

Yes 

Full path names 

Yes 

DOS 1.1 support 

No 

DOS 3.1 file sharing 

Yes 

Record locking 

Yes 

ASCI I/binary mode 

Yes 

MEMORY USAGE 


Overlays 

Yes 

Default stack size 

Yes 

Stack size settable 

No 

Stack overflow checking 

Yes 

8086 FAMILY SUPPORT 


Byte/word alignment 

Yes 

80186/80286 support 

Yes 

8087/80287 support 

Yes 

Automatic sensing 

Yes 

ROM support 

Yes 


These features can be compared with other C compilers in table 2 in “The 
State of C, ” (William J. Hunt, January 1986, p. 86). See also table 2 in Mar¬ 
ty' Franz's Product Watch reviews of Whitesmith's C Compiler (June 1986, p. 
202), Let's C (August 1986, p. 178) and MIX C (September 1986, p. 192) 

High-C is a full-featured compiler that supports both the 
proposed ANSI C standard and a useful set of extensions. 


INSTALLATION 

Packing list 

Yes 

File inventory 

Yes 

Key files described 

Yes 

Quick step-by-step procedure 

Yes 

Instructions for diskette and 

Yes 

hard-disk configurations 

List changes from last version 

Yes 

SET-UP 

Set-up assumptions described 

Good 

Notes on RAM/second hard disk 

Good 

OPERATIONS EXPLAINED 

Compile options 

Good 

Compiler error messages 

Good 

Linking C programs 

Good 

Runtime error messages 

Good 

Runtime options 

Good 

LANGUAGE / LIBRARY SPECIFICATIONS 

Deviations from Kernighan and Ritchie standard 

Good 

Data type representation 

Good 

Memory models and memory layout 

Good 

DOS and PC-specific features 

Poor 

ASSEMBLY LANGUAGE INTERFACE 

Segment, group, and class specification 

Good 

Standard prologue, epilogue 

Good 

Instruction formats for args, public, extern, struct 

Good 

Return value conventions 

Good 

Complete examples 

Fair 

FILE I/O 

Redirection 

Good 

Console I/O 

Good 

Device I/O 

Good 

Buffered versus unbuffered 

Poor 

ASCII versus binary modes 

Good 

LIBRARY DOCUMENTATION 

Average lines per function 

20 

Cross-reference information 

Fair 

Functions in table of contents 

Good 

Examples of use 

Fair 

MANUAL ORGANIZATION 

Detailed table of contents 

Good 

Index with functional entries 

Fair 

Order of function documentation 

Alpha. 

OVERALL RATING 

Good 

These notes on documentation can be compared with those for other C 
compilers listed in table 3 in “The State of C, ” (William J. Hunt, January 

1986, p. 88) See also table 3 in Marty Franz’s Product Watch reviews of 
Whitesmith’s C Compiler (June 1986, p. 203) Let's C (August 1986, p. 179) 

and MIX C (September 1986, p. 192) 



Overall, the High-C documentation was complete and infor¬ 
mative, but a more conventional index would be welcome. 


The High-C extensions give the 
product a Pascal flavor. Because many 
of the extensions are in areas where the 
K&R standard is vague or nonexistent, 
they cause little problem when porting 
normal C programs to the High-C com¬ 
piler. Some common extensions of ver¬ 
sion 7 UNIX C (such as void functions 


and enumerated types) have been in¬ 
cluded. These changes make High-C a 
stronger language for large projects 
with multiple programmers; they in¬ 
crease the ability of the knowledgeable 
C programmer to structure code. 

In addition to this enhanced ver¬ 
sion of the C language, High-C also 


compiles programs conforming to the 
proposed ANSI (X3J11) standard and 
disallows the High-C extensions. This is 
done by using a switch at compilation 
time. Other switches to the High-C 
compiler select the memory model, 
object file name, and cross reference 
and list file generation options. An after 


FEBRUARY 1987 


183 











PRODUCT WATCH 


market MAKE utility (such as PolyMake 
from Polytron) is a necessity because 
High-C supports neither wild cards nor 
multiple file names on the command 
line. The compiler’s default option set¬ 
tings can be configured through a sepa¬ 
rate command that stores common de¬ 
faults in the compiler’s .EXE file and 
makes them permanent. 

A key addition to the C language as 
implemented by High-C is the pragma 
statement. Another concept borrowed 
from Ada, this is a directive to the com¬ 
piler in the source file that specifies 
listing format, code generation, array 
checking, external labels, and register 
variable usage—in short, anything that 
concerns the generation of the final 
module. A set of pragmas is placed in a 
source file, profile, included in the 
module when it is compiled. Different 
profiles are used for different environ¬ 
ments: one with stack and array check¬ 
ing enabled for module testing and one 
with checking disabled for maximum- 
performance production programs. 

High-C supports five memory mod¬ 
els for the PC: small (64KB code, 64KB 
data), compact (64KB code, large data), 
medium (large code, 64KB data), big 
(multiple 64KB code segments, large 
data) and large (large data, large code). 


They are selected by a compilation 
switch or a pragma statement. Overlays 
can be generated for the Phoenix Plink 
linker. The compiler generates code for 
the 8087/80287 numeric coprocessor 
and/or the 80186/80286 processors with 
pragma statements. These features allow 
the exact control of code generation for 
production applications. 

High-C supports the UNIX standard 
library (see table 3) and the usual ex¬ 
tensions, such as alloc( ) and setjmp( ). 
An unusual feature of this compiler is 
that more primitive I/O functions, such 
as read( ) and open( ), are handled with 
a utility package that must be defined 
through an include hie and not directly 
through library functions as they are in 
most C compilers. This allows users 
writing embedded applications (those 
that do not use DOS, such as programs 
placed in a ROM) to isolate and write 
their own implementations of these 
nonportable functions. 

High-C also has a flexible system 
for interfacing to other languages and 
libraries. The pragma statement can be 
used to tell the compiler which inter¬ 
face an external module has, including 
call by value (C standard), call by refer¬ 
ence, and called function pops argu¬ 
ments. This feature should allow High-C 


to interface with most aftermarket C li¬ 
braries. The manual states that by using 
the external interface pragmas, High-C 
can call Professional Pascal and assem¬ 
bly language modules, and it provides 
examples for doing so. 

High-C is weak in its PC-specific 
library functions. Only the most basic 
level of access, interrupt calls and basic 
hie I/O, is supported. Higher-level 
graphics or directory functions must be 
written by the user or accessed through 
an aftermarket library. 

The documentation for High-C is 
summarized in table 3. The High-C 
manual’s loose-leaf binder contains far 
more pages than it can hold success¬ 
fully. The documentation is divided into 
an installation guide, a programmer’s 
reference section, a library reference, 
and a language reference. 

Content is complete, but very tech¬ 
nical in the best (or worst) UNIX tradi¬ 
tion. Its strong points are the installa¬ 
tion guide and language description, 
which are particularly accurate. The li¬ 
brary reference and interfacing sections 
are its weak points. Sample programs 
and some library source code is in¬ 
cluded and is well commented. 

Benchmark results are given in ta¬ 
ble 4. As the benchmarks show, compi- 


Soft*Rite» LANbasic! 

Soft*Rite announces a Superior three-part programmer’s tool. 
Microsoft BASIC™ compatible in every place that counts. * 


LAN screen 


LANbasic 


LANdbase 


LANscreen makes the burden of defin¬ 
ing your database record structures one 
that you will look forward to instead of 
dread. Standard fields and types such 
as “Money”, “Telephone” and “Date” are 
one keystroke to generate. As many as 
255 database structures can be related 
to a single screen! Segmented data 
input can be done automatically by edit¬ 
ing the field display. Part numbers with 
spaces or dashes and slashes are auto¬ 
matically parsed down to the essential 
raw data. Definable Upper and Lower 
limits for numeric inputs along with 
ACCEPT/EXCEPT input filters are stand¬ 
ard features. Screen Mask generation is 
done with a “freestroke” approach. You 
may put mask elements and data 
input/output cells wherever you wish. 
COLOR them too! EGA support too! 

‘Drivers Installed for IBM PC-NET/MS-NET 


LANbasic is your own personal solution to 
powerfull data manipulation. How many times 
have you got excited over some new “total" 
database package only to find out (after 
spending a fair amount of time and money) 
that you were stuck in some corner, unable to 
do some function that has become standard 
in “In Business for Money’s” Basic? The 
manual is 400 pages long, so we cannot fully 
describe all the features, but here are a few in 
ADDITION to the ones you are now used to: 

★ COMDATAS 14 common areas ALWAYS 
available to inside or outside, chained or 
linked programs ★ Re-assignable printer 
ports LPT1 -LPT4 ★ Generic filename use that 
allows file and database locations to be re¬ 
defined outside of basic in a user-created 
REDIRECTOR file, to ease multi-user system 
configuation ★ USESCREEN,<1-16> ★ 
SCREEN IN PUT, < anyf ield > ★ SCREENOUT- 
PUT,<anyfield > ★ OPENDB, < remote or 
local database manager> ★ 

DBGET, cvariable from DBM, automatically 
defines and dimensions in LAN basic> ★ 
DBPUT, <same> 


LANdbase is the home for your data. 
LANbasic calls are coupled to LANd¬ 
base via network comunications (PCnet 
or ?). A single keyvalue and function 
number will return a record. Multiuser 
record locking is handled by simply put¬ 
ting an ‘X’ after the read call. (i.e. 
RDDBEQUX,<argument>. Automatic 
“health checking” to warn you of poor 
hardware performance and lost or frag¬ 
mented data. “Paranoid” mode of opera¬ 
tion where files not accessed for some 
time will be closed and reopened to 
flush buffers and insure integrity. Pass¬ 
word, Userlevel and Data encryption 
functions. Several DBM’s can be 
installed in the network system to 
improve performance and reliability. Tog¬ 
gle mode screen (printer) reporting to 
record log-on or other access activites. 
Bill Fairman’s tried and proven true C- 
Tree(c) data management product. 


Soft*Rite Multi-User Programming Tools 
15381 Chemical Lane, Huntington Beach, CA. 92649 

(714) 898-0525 

CIRCLE NO. 186 ON READER SERVICE CARD 


184 


PC TECH JOURNAL 













YOUR ACCESS 
TO THE 

SOPHISTICATED 
IBM PC 

APPLICATIONS 
AND INPUT 
YOU NEED TO 
KNOW... 



OURNAL. 


i FOR SYSTEMS EXPERTS ONLY! 

Yes! Please begin my subscription to PC TECH 
JOURNAL for: 

| ] Two years (26 issues) for $53.35. o 

[~~| One year (13 issues) for $26.70. SJWE50 • 
Savings based on annual single-copy price of $53.35. 
Mr./Mrs./Ms_ 

please printfullnome 4S697 

Company __ 

Address__ 

City_State_Zip- 

□ Payment enclosed 13 Bill me later 

Add $8 per year for postage in Canada and all other foreign countries. U.S. currency only. 
Please allow up to 60 days for delivery of first issue. Basic annual subscription price is 
$34.97 


As a systems designer, integrator, DP/MIS 
specialist or consultant, you need PC TECH 
JOURNAL. PC TECH JOURNAL provides the 
tools and know-how to expand the func¬ 
tions and capabilities of your system. 

Stay in the forefront of IBMs rapidly 
changing PC technology—subscribe to 
PC TECH JOURNAL today! 

■ One year (13 issues) only $26.70. 

■ Two years (26 issues) only $53.35. 

Your subscription includes the special 13th 

issue—the PC TECH JOURNAL DIRECTORY pub¬ 
lished in November. This is a comprehensive 
and reference to the articles and products 
reviewed in PC TECH JOURNAL beginning 
with the premier July 1983 issue! 

SAVE 50% OFF THE ANNUAL 
SINGLE-COPY PRICE OF $53.35! 

FREE WITH YOUR 
PAID SUBSCRIPTION— 
THE PC TECH JOURNAL 
DATA MANAGER REVIEW 

This is a comprehensive review and 
evaluation of 7 leading Data Managers, 
complete with benchmark test results 
and comparisons covering DATAEASE, 
DATAFLEX, R:BASE 5000, and more! The 
most important reference for any system. 
The PC TECH JOURNAL DATA MANAGER 
REVIEW is yours FREE with your paid 
subscription! 

SUBSCRIBE TODAY! 



I 


FOR PC DECISION MAKERS! 

Yes! Please begin my subscription to PCTECH 
JOURNAL for: 

n Two years (26 issues) for $53.35. 

□ a nr u <- OA 7n SAVE50%! 

I 1 One year (13 issues) for $26.70. 

Savings based on annual single-copy price of $53.35. 

Mr./Mrs./Ms._ 

Company_ 

Address_ 

City_ 


please print full name 


. State. 


0 Payment enclosed M Bill me later 


Zip 



Add $8 per year for oostage in Canada and all other foreign countries. U.S. currency only. 
Please allow up to 60 days for delivery of first issue. Basic annual subscription price is 


$34.97 


GIVE PC TECH JOURNAL AS A GIFT! 



Give a business associate a subscription to PCTECH 
JOURNAL. It's a great holiday—birthday—anytime 
gift for a systems designer, integrator or DP/MlS 
professional! 

Yes! Please send a one year (13 issues) subscription 
of PC TECH JOURNAL 
’ TO: 

Mr./Mrs./Ms-- - 

please print full name 4$7C 

Company_ . --/Vy 

Address_ 


.State. 


-Zip. 


Add $8 per year for postage 
Canada and all other foreign 
countries. U.S. currency only. 
Please allow up to 60 days to 
delivery of first issue. Basic 
annual subscription price is 
$34.97 


Please bill me for $26.70 and send the qift card 
FROM: 

Mr./Mrs./Ms._ 


for Company. 


Address. 


City- 


.State. 



















































NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST GLASS PERMIT NO. 66 BOULDER, COLORADO 
POSTAGE WILL BE PAID BY ADDRESSEE 

TE(§H 

JOURNAL 
i P.O.Box52077 
Boulder, Colorado 80321-2077 


II..I.II.111111111111111111111111111111111111111 


NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST GLASS PERMIT NO. 66 BOULDER, COLORADO 
POSTAGE WILL BE PAID BY ADDRESSEE 

TE(§H 

JOURNAL 
J P.O. Box 52077 
Boulder, Colorado 80321-2077 


II..I.II. 


NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 66 BOULDER, COLORADO 
POSTAGE WILL BE PAID BY ADDRESSEE 

TE@H 

JOURNAL 

j P.O. Box 52077 
Boulder, Colorado 80321-2077 


II..I.II. II.,111...I 




ACCESS 

|=1222^ H IT 

OORNAI 

FOR THE 
INFORMATION 
YOUNEED! 

M ANIMATION 
m TERMINAL EMULATION 
M ADVANCED 
LANGUAGES 
B DATA SYNTHESIS 
B TECHNOLOGICAL 
ADVANCES 
S PRODUCTS FOR 
SYSTEMS EXPERTS 
□ THE SPECIAL 13TH 
PC TECH JOURNAL 
DIRECTORY ISSUE! 

SUBSCRIBE TODAY AND 
RECEIVE THE PC TECH 
JOURNAL DATA 
MANAGER REVIEW 
FREE WITH YOUR 
PAID SUBSCRIPTION! 


































































































TABLE 4: Benchmarks 


COMPILE TIMES 


60-line file 

58.6 

150-line file 

79.0 

500-line file 

64.2 

LINK TIMES 


1 object file 

53.4 

6 object files 

59.5 

PROGRAM SIZES (bytes) 


Eratosthenes sieve 

24,176 

Pentathlon 

26,016 

GENERAL OPERATIONS 


(small/large model) 


Function calls (Fibonacci) 

21.8/ 28.2 

Integer arithmetic 

30.3/ 30.3 

Long arithmetic 

98.5/100.5 

Subscripts 

22.3/ 24.9 

(character count) 


Pointer use (string copy) 

36.4/ 42.9 

With register variables 

32.9/ 43.0 

Eratosthenes sieve 

20.7/ 20.7 

With register variables 

18.2/ 18.8 

FEE I/O 


(small/large model) 


Read/write 


Diskette to diskette 

6.5/ 6.3 

Hard disk to hard disk 

3.1/ 3.0 

Getc/putc 


Diskette to diskette 

3.5/ 3.4 

Hard disk to hard disk 

4.3/ 4.3 

FLOATING POINT 


OPERATIONS 


(small/large model) 


Add/multiply (dot product) 

49.2/ 62.8 

Exp/log 

65.0/ 77.6 

Sin/tan (trig functions) 

62.5/ 75.4 


All times are in seconds. 

Benchmarks were run on an IBM PC/XT with 
640KB, 20MB hard disk, DOS 2.1, and no 8087 
numeric coprocessor. 'These features can be com¬ 
pared with those for other C compilers in table 4 
in “The State of C, ” (William J. Hunt, January 
1986, p. 90). See also table 4 in Marty Franz’s 
Product Watch reviews of Whitesmith’s C Compiler 
(June 1986, p. 205), Let’s C (August 1986, p. 179) 
and MIX C (September 1986, p. 193) 


Although it is a bit slow in compila¬ 
tion, High-C is among the fastest of 
the C compilers in the speed of the 
compiled programs that it produces. 


lation times are slower than average— 
probably because the compiler per¬ 
forms a great deal of optimization on 
the program prior to generating code. 

Once the compiler finishes, howev¬ 
er, the object code it produces is faster 
than the compilers reviewed in “The 
State of C” (William J. Hunt, January 
1986, p. 82). The .EXE files were larger 
than average, but their size had not 
been reduced by pragma statements (a 
size/speed compilation option is avail¬ 


able) or by linking with smaller ver¬ 
sions of the library without floating¬ 
point formatted output in them. 

Only one problem marred an 
otherwise excellent benchmark per¬ 
formance by High-C; when compiling 
the AUTO6.C source file, the compiler’s 
optimizer removed several statements 
containing a variable that was assigned 
but never referenced within the mod¬ 
ule. Later, the code generator generated 
a system error trying to generate code 
for the removed statements. Inserting a 


dummy reference to the offending vari¬ 
able solved the problem. 

A final feature of High-C is the 
MetaWare arrangement with Plum Hall 
to provide training seminars to High-C 
users at a reduced price. This further 
demonstrates MetaWare’s commitment 
to supporting technical users. 

MetaWare’s High-C is a powerful, 
full-featured C compiler well worth 
consideration by users who undertake 
large development projects. 1 ""1111 

—MARTY FRANZ 



The Tape Linx package includes 
FLASHBAK™, a high-speed, file- 
oriented tape back-up utility. It 
offers a window-oriented user 
interface featuring pull-down 
menus and single keystroke 
commands. 

Overland Data’s professional 
technical staff provides telephone 
support for all ODI products, and 
will be happy to discuss your 
specific application requirements. 
Call today. 


• 9 Track tape support for 
personal computers 

• XENIX and MS-DOS support 

• A standard data interchange 
medium for government and 
industry 

Virtually all business mainframe 
and mini systems already have 
1600 BPI Vs” 9 track tape. The 
Tape Linx subsystem provides the 
necessary connection for PC 
users. 

Tape Linx moves most data base 
information from mainframes and 
translates it automatically into a 
format readable by the PC. 

Software reads mainframe data 
in a variety of formats. Tape Linx 
can also transfer data to data 
base programs like dBASE III. 


Overland Data, Inc 

Answers on Tape 

5644 Kearny Mesa Road 
San Diego, CA 92111 
(619) 571-5555 
754923 OVERLAND 


XENIX and MS-DOS are Registered Trademarks of Microsoft Corp. 


9 Track Tape Answers for 


CIRCLE NO. 185 ON READER SERVICE CARD 


FEBRUARY 1987 


185 
































































Release the Power 

of Fortran, C and Pascal 

A library of over 120 Assembler routines transforms 
FORTRAN, Pascal and C language compilers into a flexible, 
responsive language for the microcomputer environment. 
Existing mainframe code may be converted with ease, sav¬ 
ing time and money. With the powerful Assembler sub¬ 
routines of NO LIMIT™, mainframe users can fully realize 
the advantages of microcomputer technology. 

• Complete Communications 

• File/Directory Management 

• Full Screen/Keyboard Control 

• Extensive Graphics Applications 

• Character/String Manipulation 

• System Information 

• And much more! 


NO LIMIT ™ is available for $ 129, with no license fee, and 
supports MS/FORTRAN/Pascal/C, IBM Professional, 
Ryan-McFarland, and Lahey F77L compilers. 


MEF 

Environmental, 

Inc. 

P.O. Box 26537 
Austin, Texas 78755 
512/251 >5543 


©Trademark of Microsoft, Inc., IBM 
Corporation. Ryan-McFarland and 
Lahey, Inc., respectively. 


CIRCLE NO. 133 ON READER SERVICE CARD 



QuickBASIC just got quicker with 

[QuickPak 


I ; f§.. ■ 


QuickPak is a superb collection of enhancements, subroutines, and 
instructional material designed to help you get the most out of pro¬ 
gramming in BASIC. 

■ Powerful assembly language routines to give your programs more 
speed, more power, and full access to DOS and BIOS services. 

SORT all or part of a string array with one command! Complete 
windowing capability — display help screens instantly, overlay 
text. FIND any string or sub-string within an entire array regard¬ 
less of capitalization — accepts wildcards. READ directories into 
your programs from any drive or 
path. READ/WRITE disk sectors 
— create your own DOS utilities! 

MANY, many more programs 
included. 

• Professionally written QuickBASIC 
routines and functions. 

Powerful input routines for text, 
dates, and numbers. Menus, 
scroll bars, date/time functions, 
and much more. 

■ The Assembly Tutor — a complete 
guide to learning assembly language 
from a BASIC perspective . Learn how to 
create your own routines and extensions. 

■ Tips and Tricks book — packed with 
clever ideas and techniques to help 
you be a better programmer. 

You get all this, all of the source code 
for every program included, and a 
thirty-day money back guarantee for 
only S69.00. 

No royalties are required for using any 
of the QuickPak routines in your pro¬ 
grams. Not copy protected, of course. 

by 

CRESCENT SOFTWARE 

64 Fort Point Street, East Norwalk, CT 06855 
(203) 846-2500 

QuickPak requires Microsoft QuickBASIC or BASC0M, DOS 2.0 or higher. Visa, M/C, C.O.D., or checks accepted. 



QuickPak 



CIRCLE NO. 145 ON READER SERVICE CARD 



Improved 
Serial Card 

r.. EXTENDS SPEED 
AND FLEXIBILITY 
OF PC APPLICATIONS 

New improved 8-channel ACL™ serial card now offers the 
option of RS422 and RS485 compatibility. 

The new card provides all the standard ACL “smart 
card" features... flexible address decoding, program¬ 
mable interrupts, expandable options via software, and 
the ability to download custom programs... now the 
ability to operate over greater distances and 
speeds of RS422 applications. In addition, 
the new card enables PCs to interface 
with industrial process controls j 
via RS485 links. 

Call for free literature that 
explains how the improved, 

ACL Serial Card can 
expand your PC’s 
multiuser 
options. 


CIRCLE NO. 177 ON READER SERVICE CARD 



VT100/VT52 & Tektronix™ 
4010/4014 Terminal Emulator 

Excellent emulation and the features you want: 


FI 

f 

UJ 

I- 

> 


-» use 4096 x 3120 resolution 
-*■ zoom, pan, and window plots 
-> high resolution printer dumps 
-* choose text and plot color 
-» transfer files with 
XMODEM and Kermit protocols 
-* scroll last 4 pages of text 
132 column VT100 capability 


18 User-definable keys 
capture plots and text on disk 
full or half duplex 
access to DOS commands 
all VT100 keypad commands 
command line editing 
fast direct screen access 
password security 
VTEK makes your PC better than a terminal 
S150 from Scientific Endeavors 


Publication Quality Graphics for 
Scientific and Technical Applications 


s U 

U.E 


□_ 

m 

L 

L3 


-*• multiple levels of “(••'scripts 
.-»• 4096 x 3120 resolution 
-» zoom, pan, window plots 
-► multiple plots on a page 
-*■ high resolution printer 
dumps, full or half page 
-+ plotter support in COLOR 


-* linear, log, & polar plots 
-> bar charts & Smith charts 
-* contour plots with labels 
-* 3-0 curves, 3-D surfaces 
with hidden line removal 
-» 4 curve types, 8 markers 
-> 14 fonts, font editor 
16 color plots on EGA, Sigma, TeleVideo & Tecmar boards 

Over 100 routines can be called by your 
C program. $350. Demo $8. 

SOURCE INCLUDED for private use only. 

For DeSmet, C-86, Aztec, Lattice, and Microsoft C compilers. 

Scientific Endeavors 

Route 4, Box 79; Kingston, TN 37763 
(615) 376-4146 

For 256k IBM and Corona PCs, DOS 2.xx,3.xx. 
Epson, Okidata, Toshiba, C. Itoh printers. 
Hewlett Packard, Houston, Sweet-P plotters. 
Corona Laser printer. IBM, IBM EGA, Sigma, 
TeleVideo, Tecmar, Hercules, Corona graphics. 
A compatible assembler is required. 

THIS AD WAS MADE USING Graphic” 



CIRCLE NO. 187 ON READER SERVICE CARD 


186 


FEBRUARY 1987 


























EXPERT CONSULTANT: HUMAN FACTORS 


HENRY F.LEDGARD 


Three Misconceptions 

Although they may be unspoken or subconsicous, 
some deeply rooted misconceptions affect the way 
software designers think about human factors. 



W hen the topic human factors is 
mentioned, some mental response 
comes to mind. Consider this list: 

1. Easy-to-read messages 
2. Good on-line help 
3. Icon and windows 
4. Using a mouse 
3. Simplicity 

Item 1 is the response for many people. 
Certainly, readable messages are a part 
of human engineering. But are they a 
large part? No. This is precisely what is 
wrong with item 1 as a response. To 
think about human factors in this way is 
a rather deeply rooted misconception. 

Ah, you say, do not be foolish. No 
one would give the definition: “Human 
factors is the study of writing clear mes¬ 
sages.” I agree. But the point is our 
misconceptions are more subtle. They 
affect our attitude, our work. People 
who relate to item number 1 are likely 
to think of human factors as window 
dressing, an add-on to development; on 
the other hand, they will probably not 
articulate this view. 

This is probably a consequence of 
being in a field that is considered 
“motherhood and apple pie.” No one is 
against human factors or supports poor 
human factors. Accordingly, we in the 
held have a different task. It is not to 
convince people of the importance of 
human factors, but to define what hu¬ 
man factors are and uncover some of 
the many unspoken and deeply rooted 
misconceptions. You can say that “many 
believe, but few go to church.” 

Here is my list of misconceptions. 

• The primary goal is to help novices. 

• Users will feel comfortable with 
subsets. 

• Human engineering is not particularly 
a technical matter. 

I believe that there are many users, 
engineers, and designers who (private¬ 
ly, perhaps subconsciously) hold such 
views. The misconceptions are largely 
unspoken; they reflect a set of estab¬ 
lished attitudes. 


The primary goal is to help novices. When 
designing systems, designers often ask 
how Charlie, the novice, would cope 
with it. When they document the sys¬ 
tem, try to write manuals, provide on¬ 
line help, or introduce special keys, the 
novice is kept in mind. 

A consequence of this attitude is 
that, subconsciously, we think of human 
factors as babying the user. As an aside, 
notice a looming contradiction—the 
system evolves toward greater complex¬ 
ity, yet we add even more complexity 
(on-line help, special features) to help 
the novice. Moreover, the real work¬ 
horse systems, which are not particu¬ 
larly meant for novices, can have the 
worst human factors. 

The marketplace is alive with many 
different computer systems: electronic 
mail networks, word processors, appli¬ 
cation packages, and implementations 
of computer languages. The people 
who use these systems are not primarily 
novices. When a new system is intro¬ 
duced, those who encounter it are cer¬ 
tainly first-time users of that new sys¬ 
tem, but most of them have probably 
had experience with other systems and 
similar pieces of software. Therefore, 
they will be transferring their skills 
from a previous experience to a new 
one; in other words, they can be called 
transfer users (see Good et. al., ”Build- 


ing a User-Derived Interface,” Commu¬ 
nications of the ACM , October 1984). 

Charlie the transfer user would 
undoubtedly be able to apply his 
knowledge of his own word processing 
system to a new one. His concerns as a 
transfer user would be substantially dif¬ 
ferent from those of Charlie the novice. 
Transfer users are familiar with automa¬ 
tion, command languages, and screen 
layouts. They know many of the small 
details that are needed in using a sys¬ 
tem: how to use special keys, invoke a 
command, or save work. Table 1 out¬ 
lines the differences between the nov¬ 
ice and the transfer user. 

Even the true novice may not re¬ 
main a novice very long. Often, people 
are taken with the novelty and chal¬ 
lenge. They become “experts” in a 
short period of time, even when com¬ 
plexity interferes with useful work. 

The point is that spreadsheet or 
compiler, novice or expert, the human 
factors in day-to-day usage are the is¬ 
sues that really count. 

Users will be comfortable with subsets. The 
popular wisdom is that small systems 
are desirable. Nonetheless, systems have 
a tendency to grow. When a system de¬ 
sign begins to snowball, by its own mo¬ 
mentum the subset idea becomes in¬ 
creasingly attractive. The subset idea is 
simple—users will pick and choose 


FEBRUARY 1987 


187 


ILLUSTRATION • MACIEK ALBRECHT 




















EXPERT CONSULTANT: HUMAN FACTORS 



a.. ■■■ill * 

INI 

THE NOVICE 

THE TRANSFER USER 

Is unsure of automation 

Knows what automation is 

Needs encouragement 

Wants to get work done 

Develops skill slowly 

Becomes skilled rapidly 

Needs gentle documentation 

Needs a good reference manual 

Is hesitant with new combinations 

Thrives on technical consistency 


One misconception is that products must be designed for novices. Most users are 
transfer users. Even novices become experts in a short time. 


their own features, eventually establish 
a reasonable selection, and then will be 
comfortable with it. So what is wrong 
with large systems anyway? 

Many arguments are lodged against 
large scale in computer systems. Some 
of them have to do with cost. Others 
have to do with documentation and the 
difficulty of implementing large systems. 
Users should question every feature in 
a system. They may not need so many 
options if the system does the simple 
tasks it is designed to do, and does 
them well. Nevertheless, what is really 
wrong with the subset idea from the 
user’s point of view? 

Using a system well requires docu¬ 
mentation. A system that is larger than 


required forces the user to face a docu¬ 
ment describing many features that are 
irrelevant to the problem at hand. As I 
noted in my first article in this column 
(see “Computer Attitudes,” November 
1986, p. 193), Charlie had no use for a 
magic debugging tool when he was 
learning his new word processing sys¬ 
tem. Irrelevant information intimidated 
him. He might well have muttered: 

“Oh, Lord! Thy system is so big, and 
Thy user, so small.” 

Moreover, the larger the system the 
more likely that the documentation will 
be inadequate. Manuals tend to be 
pieced together under increasing pres¬ 
sure. The examples become sterile; the 
text uninteresting. The documentation 


DOUBLE 

YOUR STORAGE CAPACITY 


The new PERSTOR 200 
Series Double Capacity 
Controllers increase 
the storage capacity of 
your ST506/412 Win¬ 
chester hard disks by 90% or more. 
Advanced RLL encoding technology is 
used to increase data transfer rate to 9 
and 10 megabits per second, and a 56 


bit error correction 
code is used to assure 
data integrity. What’s 
more, it works with both 
RLL and MFM drives 
with plated or oxide media* 

To place an order or become a dealer 
call (602) 948-7313. 



PERSTCJ R 

Sensible solutions for your hard disk problems. 


Systems and Software, Inc. 

7825 East Redfield Road 
Scottsdale, Arizona 85260 

*call for specific drives. 

CIRCLE NO. 231 ON READER SERVICE CARD 


can deteriorate into nothing more than 
the reports of one engineer to another. 
The result is a general loss of quality. 

No designer can predict which part 
of a system a user will be using. Any 
system responses, help frames, or 
menus can only force upon the user in¬ 
formation about unknown topics. Some 
operations, such as program configura¬ 
tions or file options, may be barely 
understood. The user may get lost tak¬ 
ing an unknown option and wind up in 
a dead end, not knowing whether to re¬ 
cover or begin again. When the user is 
on the right track, the system is less 
likely to give the kinds of specific infor¬ 
mation that the user really needs. 

Users feel most comfortable when 
they understand everything they see: 
the menus, the icons, the commands, 
the options, and the messages. They 
find themselves at ease when they be¬ 
lieve they are in complete control. It is 
similar to feeling comfortable driving 
your own car rather than somebody 
else’s. When the driver understands all 
the controls and is able to use them 
confidently, driving is safer, easier, and 
certainly less stressful. That is why Char¬ 
lie eschewed templates pasted on his 
keyboard—he wanted his fingers to 
move around the keys without having 
to think about it. 

The substantive question here is: 
Why can’t users simply find their own 
subsets and function there conven¬ 
iently? In response, I need to ask more 
questions: Whose subset? How do I get 
the document for the subset that I use? 
How can I disregard instructions on the 
screen that are of no relevance? What 
about my specific needs? Can I grow 
with the system or must I grope with it? 
Can I be sure that the subset I am using 
is the optimum one? Am I ignorant of 
more efficient ways to do what I am 
currently doing? 

If I am not comfortable with a sub¬ 
set, I will want to learn more until I am 
satisfied that I understand the system 
as well as I can. If I cannot do this, if I 
finally give up exploring, I will reluc¬ 
tantly hold on to my subset but with a 
feeling of misgiving. Is this what human 
engineering is all about? 

If this is so, the system will always 
seem to be bigger than I am, and my 
subset is just a myth. 

Human engineering is not particularly a tech¬ 
nical matter. Few human factors special¬ 
ists would agree with this statement, but 
my guess is that some system develop¬ 
ers secretly believe it. Some liken hu¬ 
man factors to making system messages 
more pleasing for the user to read. 


188 


PC TECH JOURNAL 

























FORTRAN PROGRAMMERS 


Looking for the right PC FORTRAN language system? If you're serious 
about your FORTRAN programming then you should be using F77L - 


LAHEY FORTRAN. 


"Lahey's F77L FORTRAN is the compiler of choice, it's definitely a 
'Programmers FORTRAN\' with features to aid both the casual and the 
professional programmer... F77L compiled the five files in a total of 12 
minutes , which was 4 times as fast as MS FORTRAN and an astounding 6 
times as fast as Pro FORTRANf' - PC Magazine 

Compare the features and performance of other PC FORTRANs with F77L 
and you will find that F77L is clearly the superior product. 


Full Fortran 77 Standard (F77L is not a subset) 
Popular Extensions for easy porting of mini 
and mainframe applications 
COMPLEX* 16, LOGICAL* 1 and INTEGER* 2 
Recursion - allocates local variables on 
the stack 

IEEE - Standard Floating Point 
Long variable names - 31 characters 
IMPLICIT NONE 


Fast Compile - Increases productivity 
Source On Line Debugger (Advanced 
features without recompiling) 

Arrays and Commons greater than 64 K 
Clear and Precise English Diagnostics 
Compatibility with Popular 3rd Party 
Software (i.e. Lattice C) 

Easy to use manual 
Technical Support from LCS 


NEW FEATURE - NAMELIST 


F77L - THE PROGRAMMER S FORTRAN 


$477.00 U.S. 

System Requirements: MS-DOS or PC-DOS, 256K, math coprocessor (8087/80287) 

FOR MORE INFORMATION: (702) 831 -2500 



Lahey Computer Systems, Inc. 

P.O.Box 6091 

Incline Village, NV 89450 

U.S.A. 


International Dealers: 

England: Grey Matter Ltd., Tel: (0364) 53499 
Denmark: Ravenholm Computing, Tel: (02) 887249 
Australia: Computer Transitions, Tel: (03) 537-2786 
Japan: Microsoftware, Inc., Tel: (03) 813-8222 


SERVING THE FORTRAN COMMUNITY SINCE 1967 

MS^OS & MS FORTRAN are trademarks of Microsoft Corporation.Pro FORTRAN refers to Professional FORTRAN a trademark of 

International Business Machines. 



Editor's Choice 

- PC Magazine 


CIRCLE NO. 128 ON READER SERVICE CARD 


GET PC/XT HEADACHE RELIEF. 


Take one WELTEC floppy 
drive and upgrade your PC or 
XT to AT capacity-without 
changing your controller card. 


Is your mix of IBM PC’s 
and XT’s giving you an 
MIS headache? Get rid of it 
fast with our versatile 5 1 4" 
half-height flexible disk 
drive. 

• 1.2 Mb formatted 
capacity 

• No additional controller 
card needed 

• Brushless direct-drive 
motor with 30,000 MTBF 



• Full interchange of 
diskettes between IBM 
AT and PC or XT as well 
as most IBM compatible 
systems 

• Internal or external 
configurations 

• ANSI and industry 
interface compatibility 


Get relief now! 
Call 714/250-1959 


VAD and VAR inquiries invited 

E3 WELTEC 

digital, inc. 


IBM™ PC, XT and AT are trademarks of International Business Machines Corp. 


17875 Sky Park North, Suite P, Irvine, CA 92714 


FEBRUARY 1987 


CIRCLE NO. 243 ON READER SERVICE CARD 


189 




















UNIX TOOLS FOR YOUR PC 


EXPERT CONSULTANT 


PC/VI 


UNIX’s VI Editor Now Available For Your PC! 

Are you being as productive as you can be with your 
computer? An editor should be a tool, not an obstacle to 
getting the job done. Increase your productivity today by 
choosing PC/VI — a COMPLETE implementation of 
UNIX* VI version 3.9 (as provided with System V 
Release 2). 

PC/VI is an implementation of the most powerful and 
most widely used full-screen editor available under the 
UNIX operating system. The following is only a hint of the 
power behind PC/VI: 

• Global search or search and replace using regular 
expressions 

• Full undo capability 

• Deletions, changes and cursor positioning on character, 
word, line, sentence, paragraph, section or global basis 

• Editing of files larger than available memoiy 

• Shell escapes to DOS 

• Copying and moving text 

• Macros and Wford abbreviations 

• Auto-indent and Showmatch 

• MUCH, MUCH MORE! 

Don’t take it from us. Here's what some of our customers 
say: "Just what I was looking for!”, “It’s great!", "Just like 
the real VI!". "The documentation is so good I have already 
learned things about VI that I never knew before." — IEEE 
Software, September 1986. 

PC/VI is available for IBM PC’s and generic MS-DOS* 
systems for only $149. Included are CTAGS and SPLIT 
utilities, TERMCAP function library, and an IBM-PC specific 
version which enhances performance by as much as 
TEN FOLD! 

PC/TOOLS 

What makes UNIX so powerful? Sleek, Fast, and 
POWERFUL utilities! UNIX gives the user not dozens, but 
hundreds of tools. These tools were designed and have 
been continually enhanced over the last fifteen years! Now 
the most powerful and popular of these are available for 
your PC! Each is a complete implementation of the UNIX 
program. Open up our toolbox and find: 

• BFS • DIFFH . OD • STRINGS 

• CAL . DIFF3 . PR . TAIL 

• CUT • GREP • SED . WC 

. DIFF . HEAD . SEE 

All of these for only $49.00: naturally, extensive 
documentation is included! 

PC/SPELL 

Why settle for a spelling checker which can only 
compare words against its limited dictionary database 
when PC/SPELL is now available? PC/SPELL isacomplete 
implementation of the UNIX spelling checker, renowned 
for its understanding of the rules of English! PC/SPELL 
determines if a word is correctly spelled by not only 
checking its database, but also by testing such 
transformations as pluralization and the addition and 
deletion of prefixes and suffixes. For only $49.00. PC/SPELL 
is the first and last spelling checker you will ever need! 


Buy PC/VI and PC/TOOLS now and get PC/SPELL for 
only $1.00! Site licenses are available. Dealer inquiries 
invited. MA residents add 5% sales tax. AM EX. MC and Visa 
accepted without surcharge. Thirty day money back 
guarantee if not satisfied! Available in 8", 5 V\" and SW 
disk formats. For more information call today! 

•UNIX is ;i trademark ol AWi: 'MS DOS is a trademark nl Mk nisolt. 

CUSTOM SOFTWARE SYSTEMS 

P.O. BOX 678 • NATICK, MA 01760 
617 • 653 * 2555 




H 

O 

O 

r 

to 

Tl 

o 

< 

o 


CIRCLE NO. 261 ON READER SERVICE CARD 


If human factors are important, 
they should be a concern from the be¬ 
ginning to the end of the software life 
cycle. Even when the requirements for 
a proposed system are being sketched, 
human factors arise quickly. Question¬ 
ing the need for features, scaling down 
the requirements, and looking for clean 
technical solutions that will meet the 
needs of the user—these have implica¬ 
tions for human factors. 

In developing a good technical de¬ 
sign, the designer should consider such 
questions as: Are so many special-pur¬ 
pose keys really necessary? How should 
commands or menus be organized? 

How should screen management work? 
What notations should be used? 

When the design is started, conflict¬ 
ing principles may have to be resolved. 
Perhaps some experiments may need to 
be run in order to test competing ideas. 
Data can be gathered on an existing sys¬ 
tem to see which features are the most 
confusing. If an on-line help system 
cannot be developed in a reasonable 
manner, perhaps the matter should be 
dropped and other avenues of user 
training explored. For example, cursor 
movement, file management, and com¬ 
mand language principles must be dis¬ 
cussed and implemented as an integral 
part of human factors. 

Let us suppose we are designing a 
new system for compiling, running, and 
testing programs. Suppose we have 
identified 200 or so functions (com¬ 
mands, options, features, etc.). Some 
typical functions might be: put the com¬ 
piler output in a file; recompile a single 
module; set a breakpoint; display the 
value of an expression. 

Consider these questions: 

• What is a good syntax model? 

• Do options have consistent syntax? 

• Which are commands versus sub¬ 
commands? 

• Which features can be arranged into 
sensible groups? 

• Should commands be combined? 

• Should all options have a default? 

• Can features be grouped under a sin¬ 
gle option? 

These are technical issues that directly 
affect the user, ease of learning, recall, 
and documentation. 

Human engineering is not some¬ 
thing that can be grafted on to an exist¬ 
ing system. It is the fiber of technical 
development. 1 "miffim m 


Henry F. Ledgard is a private consultant, 
specializing in software engineering, audits, 
and education as well as human factors. He 
holds a Ph D. from MIT. 


190 


PC TECH JOURNAL 













•asss 

ggSS#' 3S9S 

IBM is a 
registered trademark of 
International Business Machines Corp; 

Apple is a registered 
trademark of Apple Computer, Inc. 

APPLE 64 PAGES 264 PRODUCTS 


INTERACTIVE MICROWARE, INC. 

POB 139, Dept. 237, State College, PA 16804 
Phone: (814) 238-8294 • Telex 705250 



For information interchange, backup and archival storage, 
IBEX offers a 9-track, IBM format-compatible Vfe" magnetic 
tape subsystem for the IBM PC, featuring: 

■ IBM format 1600/3200 and 800 cpi. 

■ Software for PC-DOS, MS-DOS. 

■ Also for DEC, VAX, VME, 

S-100, RS-232, IEEE 488. 

IBEX COMPUTER CORR 

20741 Marilla St. 

Write, phone or TWX for information. Chatsworth, CA 91311 

(818) 709-8100 
TWX: 910-493-2071 


9-TRACK MAG. TAPE SUBSYSTEM 
FOR THE IBM PC/XT/AT AND... 


CIRCLE READER SERVICE NO. 208 FOR IBM, NO. 209 FOR APPLE 

DeSmet C 

execution profiler included 
DeSmet C Compiler* still $109 

The professional's choice for fast compilation and execution. 
Includes Compiler, Assembler, Binder, Librarian, and Full 
Screen Editor (SEE tm ). Execution Profiler reports by 
address, procedure name or line number. Supports both disk 
and memory resident Overlays. Contains both 8087 and 
Software floating point support. Full STDIO library. 

With D88 Debugger Option .$159 

Gain most of the benefits of an interpreter while losing none of 
the run-time speed of the C88 compiler. Display C source and 
variable contents during execution. Set breakpoints by function 
name or line number. Examine and set variables by name using 
C expressions. 

With Large Case Option and D88 $209 

Makes a great C Compiler even better. Adds 32-Bit Pointers to 
C88 so you can utilize all of your PC. Groups scalar and static 
data for fast access. 

$ 

D88 & Large Case Options available as add-ons. 

C Ware Corporation 

505 W. Olive, Suite 767, Sunnyvale, CA 94086 U.S.A. 

(408) 720-9696 — Telex: 358185 
We accept VISA, MasterCard & American Express 


CIRCLE NO. 149 ON READER SERVICE CARD 


Modula-2 

IBM PC/DOS 
Native Code Compiler 

This is a full implementation of Niklaus Wirth’s Modula-2 
language. Our product is not an interpreter, but a true 8086 
compiler, using state-of-the art techniques. A Unix-like 
"make" utility is included which provides automatic recom¬ 
pilation of modified source programs. 

The code generator produces object module input for the 
DOS link utility. You may combine your Modula-2 pro¬ 
grams with code from other languages such as Assembler. 
The software also operates on PC compatibles using 
MS/DOS. All the run time source code is included. None 
of the software is copy protected, and is fully supported and 
maintained by farbware. No royalties are charged for the 
use of the run time object. A complete and comprehensive 
reference manual is included in the purchase price. The 
manual is available separately for $25.00. 

Site licenses and quantity discounts are available. 

$89.95 Complete 

farbware 
1329 Gregory 
Wilmette, IL 60091 
(312) 251-5310 

Master Card and Visa Accepted 

CIRCLE NO. 117 ON READER SERVICE CARD 


FEBRUARY 1987 


191 























15 SUCCESS MANUALS that could solve vour money problems once and for all! 


FASTEST, EASIEST... PROVEN PROFITABLE BUSINESSES YOU CAN QUICKLY START 
AND OPERATE FROM HOME WITH LOW OR NO CAPITAL.. PART TIME OR FULL TIME... 


No experience required... Nothing complicated to study... Strictly legal and honest... 

Each beginners Success Manual is Guaranteed to teach you everything you need to know to succeed fast! The perfect answer for ambitious men and women... 


1. FIFTY QUICK, EASY AND MOST UNUSUAL WAYS TO 
POCKET “GIANT DOLLARS!” 

Here’s your chance to discover how so many folks miss 
out on numerous opportunities to pull in some big, fast 
cash. A most unique money-opportunity book which 
quickly shows you how just ordinary men and women 
from all walks of life are building spare time and full 
time fortunes; plus home businesses, money secrets, 
wealth-building methods, out-of-the-ordinary plans and 
odd blue prints to success, plus more, (only $6.95) 

2. HOW TO STACK UP HUGE MAIL ORDER PROFITS - 
HAND OVER FIST WITHOUT BREAKING YOUR BACK 
(OR RISKING AN ARM OR A LEG) 

Shows you how to immediately set up — and get your 
operation off to a smooth flying start. Quickly teaches 
you short cut mail order fundamentals from A to Z. 
Crammed with insider “tricks of the trade” and revealing 
“money getting gimmicks.” Imagine yourself receiving 
envelopes containing hundreds of dollars or more a day 
every day — that’s the potential of mail order, (only $6.95) 


3. HOW TO SEW YOUR WAY TO PRETTY PROFITS 
FAST! 

It’s a fact that millions of women (and men, too) own their 
own sewing machines... and truly enjoy sewing. This 
peculiarly profitable book clearly demonstrates to them 
how to, virtually, turn their sewing machines into money 
making machines... and take fast and full advantage 
of today's most promising market conditions. Especially 
— considering the present sky-high prices, (only $6.95) 

4 HOW TO TURN YOUR TELEPHONE INTO A 
MONEY MAKING MACHINE: 

Right now your phone is only costing you money — 
but if you knew how to make it work for you, it could be 
making you money. Many people have heard about 
men and women making handsome incomes, via their 
telephone. But only a few people know exactly how it’s 
done. Complete easy-to-follow instructions, (only $6.95) 

5. HOW TO EARN A FISTFUL OF MONEY WITH 
NEWPAPER CLIPPINGS: 

Imagine, earning good money by clipping articles from 
newspapers? This unusual book instructs you in straight- 
to-the-point, how-to-information. Fast starting operation 
by mail on a tiny shoestring capital. Unusual way to earn 
$50, $100, $300 or more, weekly. Ideal for ambitious 
Homeworkers, spare-time or full, (only $6.95) 

6. HOW REAL ESTATE CAN MAKE YOU A FORTUNE... 
USING OTHER “FOLKS MONEY:” 

Real estate has produced more millionaires than any 
other field. The plans inside this amazing fast, fortune¬ 
building book tells why and how, in easy-ABC fashion; 
learn how to let other folks money work for you; speculate 
in raw land and get back $5 for every $1 you put in; rake 
in huge profits on Uncle Sam’s losses; set up a nice 
income for yourself and your family with little or no 
investment, (only $6.95) 

7. WORK-AT-HOME SUCCESS GUIDE 
(For Men and Women) 

Time and time again — successful spare time and full 
time businesses are made with out-of-the-ordinary 
methods; off beat money making ideas, prosperous home 
enterprises. Shows how plain every day folks from all 
walks of life can stack up good money. Here’s your 
opportunity to go after incredible wealth, (only $6.95) 

8. AMAZING MONEY MAKING TREASURY OF 1 & 2 
INGREDIENT FORMULAS THAT COULD PUT YOU ON 
EASY STREET 

This startling opportunity book places the little 
“beginner” operator with tiny capital in a most profitable 
position to manufacture sellable products. All prepara¬ 
tions require no more than two chemicals, many just one. 
All represent a popular best-seller kind of product with 
both genuine merit and wide sales appeal. No expensive 
equipment or facilities required. You can almost always 
pack everything from your kitchen, (only $6.95) 

9. WORLD’S EASIEST MOST PROFITABLE 
MAILORDER BUSINESS... 

A relatively uncrowded business that any man or woman 
can enter regardless of age. Book shows you how to start 
small, with ‘piggy bank’ capital and grow prosperous year 
after year. Reveals the surest, most profitable and safest 
items to sell by mail. Crammed with all the precious, 
easy-to-understand details, (only $6.95) 

10. TWELVE SIMPLE LITTLE-KNOWN WAYS TO MAKE 
BIG MONEY FAST! 

An amazing book that clearly reveals a dozen ways men 
and women could pocket some real fast cash profits — 
if they only knew the right wealth building moves to make. 
This book quickly teaches you all the necessary moves, 
shows you exactly how and what to do to help assure 
your success, (only $6.95) 


rv QUICK. EASY AND MOST 




HOW TO TURN YOUR 
TELEPHONE INTO A MONEY 
MAKING MACHINE 




MOW REAL ESTATE CAN 
MAKE YOU A FORTUNE.. 
USING OTHER "FOLKS 
MONEY 


11. HOW TO SIT BACK AND RAKE IN A BUNDLE 
SELLING BOOKS BY MAIL: 

Practically all mail order experts agree that absolutely 
nothing sells better by mail than books... and there’s 
nothing that sells easier than books. Better yet — you 
stand to make bigger and faster net profits from selling 
books by mail than you could realize on any other items. 
You will be shown everything from A to Z. (only $6.95) 

12. HOW TO WIN BIG CASH AND VALUABLE 
PRIZES CONTESTS: 

This unique book quickly shows you all the important 
inside tricks. Opportunity to win national and local con¬ 
tests again and again. Cash, cars, homes, appliances, 
furs and vacations ... No other publication on the 
market exactly like it. (only $6.95) 

13. BIG FAST FULL TIME AND PART TIME 
PROFITS FOR WOMEN: 

This book is a remarkable treasury of unique but common 
sense, easy to operate Little “big” money making 
businesses for many millions of today’s serious and 
enterprising women interested in fabulous earnings, 
independence and security. Little or no investment and 
fast starting full- and part-time income increasing 
activities, (only $6.95) 

14 EASIEST AND FASTEST WAY TO START A SUC¬ 
CESSFUL MAIL ORDER BUSINESS ON A SHOESTRING: 

Simple, and most effective, step-by-step mail order start¬ 
up and operating instructions written especially for 
beginners. Crammed with vital facts... Covers every 
aspect of this exciting big money field, (only $6.95) 

15. HOW TO SEETHE WORLD... 

TRAVEL AND GET PAID WELL FOR IT: 

Everyone enjoys traveling. But most people cannot 
afford to travel to those far away places they dreamed 
of visiting. Here’s your chance to take in the wonderful 
sights throughout the world — and actually get paid 
for doing it. Yes, it’s truly possible that this little 
known strictly legal method could provide you with the 
information for doing it. (only $6.95) 


Fifteen Ways For You To Have Bulging Bank Accounts, 
Beautiful Homes, Expensive Clothes, Jewelry, Exotic 
Vacations... The Very Best Colleges For Your Kids... 
Plus, Keep A Steady Income Flowing In! 


Everyone of the 15 Manuals’ home-based businesses, can be 
successfully operated, by a single person, retirees, unemployed 
people — most ideal for husband/wife teams — and can be, almost, 
instantly turned into an enterprising family operated business, 
kids can help too. With everyone pitching in ... your business 
could suddenly take off, and profits could increase fast! 


HOW TO SIT BACK AND 

RAKE IN A BUNDLE 

SELLING BOOKS BY MAIL 

r FINALLY-A REAL OPPORTUNITY TO 1 

ENJOY A RICHER ... BETTER LIFE 

y 

Our organization — Successful Business Publishers, 
offers what is perhaps the largest Collection of Unique 
‘Home-business’ Beginner’s Success Manuals in the 
world! Out of over a thousand of businesses in our 
organization’s files — our home business specialists, 
have painstakingly selected The 15 Fastest, Easiest 
... Most highly Profitable part-time and fulltime 
Businesses you and other beginners can quickly start and 
easily operate from home — with very low or, virtually, 
no investment. 

How many of these Proven, Highly Profitable Enter¬ 
prises, can you combine together and successfully operate 
— and Benefit From At The Same Time? Possibly, all 
fifteen if you’re that ambitious ... The big Shrewd 
Corporations, call this almost secret method ‘diversifi¬ 

HOWTO WIN BIG CASH 

AND VALUABLE PRIZES 
_ CONTESTS 

BIG FAST FULL TIME AND 

PART TIME PROFITS FOR 
WOMEN 

, 1 - 

1 

cation’ which is, merely, a high sounding big word, which 
simply boils down to — having a lot of different busi¬ 
nesses, operating ... and pouring fast-fat profits » 
into your pockets, at the same time. 

Let’s face it — Plain common sense says that — the more 
of these 15 Proven Profitable Businesses, you choose 
to operate at the same time ... the bigger, and faster 
your profits could be! Of course, our organization will 
profit a few more dollars if you choose to put five, ten 
or all fifteen of our proven profitable, start-up success 

EASIEST AND FASTEST 

WAY TO START A 
SUCCESSFUL MAIL ORDER 
BUSINESS ON A 
SHOESTRING 

manuals, to work for you. 

But then — why should our making a modest few 
dollars of profit bother you — when it’s you, who makes 
... and keeps all the income — no matter how much — 
Your different home businesses bring in? The demand 
for our unique wealth-building Beginners Start-Up 
Success Manuals has been so overwhelming ... and, 
understandably so too, since, there’s absolutely nothing 
Jike them on the market! j 

wt 

Our No-Risk 

HOW TO SEE THE WORLD 

Success Guarantee To You 

TRAVEL ANO GET PAID 

WELL FOR IT 

You must be absolutely, positively, and totally 
convinced that the actual money making 
success profitability of each manual is real 
— and may quickly increase your income 
or you may return everything within 10 days 
Jor a prompt no hassle refund. v 


, Remember, those who snooze will certainly 



THE AMAZING HOME WOMEN S 
WORK AT HOME 
SUCCESS GUIDE 
(For M*n and 



EASY STREET 




TWELVE SIMPLE LITTLEK* 
WAVS TO MAKE 
BIG MONEY FAST' 


More Businesses You Operate ... More Money You 
Make ... Guarantees You Riches Beyond Your 
Wildest Dreams! 


So, be sure to keep in mind that: Even though, it’s true — some 
good money could be made with just a single one of these 
start-up success manuals working for you... but, much better than 
that, you could give yourself a greater opportunity to make your 
profits multiply much faster, by simply putting together a 
super powerful profitable combination of five, ten, or more of 
these fifteen — fastest, easiest... proven profitable businesses 
out of over a thousand in our files. Imagine having them all 
operating, and bringing in big hefty profits for you, at the same 
time! But you must send your order in right away. Supplies are 
extemely limited at these special introductory low prices! 


lose. However, those who choose right now, 
to begin — can win, and right now, while 
there’s still time, is the best time to begin. 
You’ll be making a very wise and highly 
I profitable move. ORDER NOW! 


Beginners Start-Up 
Success Manuals Order Form 


Circle the manuals you are ordering 
1 2 3 4 5 6 7 8 

9 10 11 12 13 14 15 

I have circled above the catalog number of each Success 
Manual I am ordering, and I’ve included the proper amount 
to help cover shipping and handling, as indicated below. Also, 
I’m fully protected by your organization’s strong, no-risk 
success guarantee that - unless I am totally convinced that 
the actual money making success profitability of my manual(s) 
is real - and may quickly increase my income. Also, I may 
return everything within 10 days, for a prompt, no-hassle, 
full refund. 

Total Success Manuals Ordered_ 

Full Amount Enclosed 


FREE 


The More Success Manuals You Order 
The More FREE limited Editions You Get 


Buy Any 2 to 5 SUCCESS MANUALS And Get Free! Any 
One Of The Three LIMITED EDITIONS Below, or Buy 
Any 6 to 10 SUCCESS MANUALS And Get Free! Any Tivo 
Of The Three Below, or Buy Any 11 to 15 SUCCESS 
MANUALS And Get Free! All Three Below. 



HOW TO QUICKLY 
WIP€ OUT ALL YOUR DEBTS 
ANO TURN BAD CREDIT 
RATING INTO GOOO 



VERY LITTLE MONEY 





HOW TO RAISE 
ALL THE CASH YOU 
NEED IN A HURRY. 

If you need $5,000, $20,000, 
$100,000 or more to help 
get your new business off 
the ground — then, you’ll 
most certainly want to read 
this book. Even if you’ve 
already been turned down 
by banks... and finance 
companies. 


HOW TO QUICKLY 
WIPEOUT ALL 
YOUR DEBTS AND 
TURN BAD CREDIT 
RATING INTO GOOD! 
Now with this amazing 
book — you can stop bill 
collectors cold in their 
tracks. Here’s your golden 
opportunity to get out of 
debt without borrowing. 


HOW TO RETIRE 
YOUNG AND LIVE 
LUXURIOUSLY ON 
VERY LITTLE MONEY. 

Finally — It’s possible 
for you to say“goodbye” 
and “good riddance” to 
that old out-dated idea 
that you must remain on 
a boring nickel and dime 
wage slave, time-clock 
punching job until you 
reach 65. 


sure to include proper shipping and handling fee - 
see charges below: 

SHIPPING AND HANDLING CHARGES 
Ordering just one Success Manual Add $1.25 for S&H 
Ordering from 2 to 5 Success Manuals Add 90C per 
each manual 

Ordering from 6 to 14 Success Manuals Add 50c per 
each manual 

ENJOY BIG SAVINGS ON ORDERS FOR ALL 15 
SUCCESS MANUALS - We pay all Shipping & Handling 
Cost, (a hefty savings of S7.50!). 

Note: We pay shipping and handling on each Limited 
Edition Manual your order qualifies for._ 


Check the box below which indicates each desired 
FREE Limited Edition Manuals’ Title(s) which your 
order qualifies you to receive FREE: 

■ How to quickly wipe out all your debts and turn 
bad credit rating into good 

■ How to raise all the cash you need 
in a hurry 

■ How to retire young and live luxuriously on very 
little money 


METHOD OF PAYMENT (all prices are in U.S. funds): 
□ My check or money order is enclosed (do not send 
currency through the mail). 

Sorry - due to high percentage of sale charged by card 
companies - charge card orders not accepted. 

SHIP TO 

Name_ 


Address _ 
City_ 


-Zip- 


Complete this order form and mail to; 
SUCCESS BUSINESS PUBLISHERS 
110W. 5th Street 

b JA/instoruSalem, N.C. 27101 ^ 

I ©1985 Successful Business Publishers 




















































BOOK REVIEW 


Database Practicum 

This in-depth book on practical techniques features a solution 
for challenging real-world database management problems. 


Micro Database Management: 
Practical Techniques for Applica¬ 
tion Development 

Robert H. Bonczek, Clyde W. Holsapple, 
and Andrew B. Whinston (Academic 
Press, Inc., Orlando, FL, 1984) 

511 pages, paper, $37.50 

The abstract discus¬ 
sions and simple 
examples included 
in books on data¬ 
base management 
often fail to give 
readers the in- 
depth understand¬ 
ing of practical 
techniques that is 
necessary for appli¬ 
cation development. The authors of Mi¬ 
cro Database Management , however, 
have selected for their book an interest¬ 
ing assortment of challenging real- 
world application problems. Each of 
these problems is addressed with a 
specific database management system 
(DBMS) to illustrate practical develop¬ 
ment techniques. Micro Data Base Sys¬ 
tems III (MDBS III) is used as the 
DBMS of choice for the examples in¬ 
cluded throughout the book. 

The book is written on a profes¬ 
sional level, but the carefully selected 
examples help the reader’s understand¬ 
ing of the basic and complex concepts 
involved. Professional developers and 
students will find Micro Database Man¬ 
agement useful. It covers all the usual 
DBMS fundamentals: data items, record 
types, and relationships between record 
types, as well as many advanced topics 
that usually are not discussed in depth 
in books on the subject, such as the rel¬ 
atively new postrelational (or extended- 
network) data model, end-user inter¬ 
face, database restructuring, and data¬ 
base integrity and security. 

The first three chapters provide 
a general background in the area of 
applications development for micro¬ 


computers. The evolution of database 
management is studied, and file man¬ 
agement systems are contrasted with 
DBMS. Six end-user needs are defined 
that must be satisfied by the database 
management system as inexpensively as 
possible: ability to manipulate data with¬ 
out programming or knowledge of data 
structures; data security; compatibility 
with existing hardware and software; 
portability to other environments; high 
performance; and extendability. The au¬ 
thors indicate that high-quality micro 
application software can be built to 
match the software available on main¬ 
frames, provided the appropriate tools 
are used. Characteristics and features of 
such tools for data-handling, screen¬ 
handling, and control-computation tasks 
are discussed in detail. 

Micro Database Management pro¬ 
vides an excellent insight into the fun¬ 
damentals of logical structuring. A very 
practical technique for designing sche¬ 
mas is presented that systematically 
takes the developer through the seven 
steps necessary for a complete design: 
identify each data item and its purpose; 
collect items for which there is a one- 
to-one relationship into record types; 
put each remaining data item into a rec¬ 
ord type; identify one-to-many relation¬ 
ships between record types; delete du¬ 
plicate relationships; create many-to- 
many relationships for all other record 
types; and create additional relation¬ 
ships using artificial record types to 
support required reports. 

The book also covers database pro¬ 
cessing. Various data manipulation com¬ 
mands are discussed in detail. The 
chapters on this subject provide in- 
depth illustrations of how an actual 
application system is developed. These 
examples, like the many others in¬ 
cluded in the book, play an essential 
role in clarifying sophisticated concepts. 

The database management systems 
used in the examples are designed us¬ 
ing MDBS III data manipulation lan¬ 


guage (DML). Although this DML can be 
used with a number of host languages, 
the examples in the book are not writ¬ 
ten in any specific high-level language. 
Instead, a pseudolanguage is used to 
make the material accessible to all read¬ 
ers. The syntax of this language is ex¬ 
plained in the book and proves to be 
very easy to understand. 

One of the book’s chapters is de¬ 
voted to a discussion of the interactive 
data manipulation language (IDML), a 
low-level procedural language, and the 
query retrieval system (QRS), a high- 
level non-procedural language. A sec¬ 
ond chapter shows how some of the ad¬ 
vanced features exclusive to the post- 
relational data model—such as direct 
representation of many-to-many, recur¬ 
sive, and forked relationships—can help 
simplify the task of the applications de¬ 
veloper. The book offers performance 
enhancement guidelines for advanced 
developers. It illustrates how a perform¬ 
ance-conscious developer can take ad¬ 
vantage of the underlying physical struc¬ 
ture to optimize performance. 

Another chapter gives a complete, 
detailed case study, which does a good 
job of encompassing all the concepts 
covered in previous chapters and pro¬ 
vides an excellent illustration of how an 
actual problem can be implemented. 
While multiuser database processing is 
often ignored in database books, Micro 
Database Management has detailed 
examples (using MDBS III facilities) 
of how to develop effective multiuser 
applications software. 

Although many concepts discussed 
in the book would be useful in any 
DBMS context, the book’s full potential 
is realized only when it is used in con¬ 
junction with MDBS III. The book is an 
important contribution to the database 
field. It can provide practical knowledge 
for applications development and 
should be a valuable addition to any 
database library. I "iTTmnn 

—NASIR GHIASEDDIN 


MICRO DATABASE MANAGEMENT 

PRACTICAL TECHNIQUES 
FOR APPLICATION DEVELOPMENT 


FEBRUARY 1987 


193 












Introducing 
multi-channel 
communications 
boards400% 
fester than 
what you’re. 
probably using 






^ 0 ^ 

w "inr — ' h*iw • 

Introducing the 

DIGIBOARD COM/Xi Series front-end processor. 
Intelligent multi-channel communications boards 
400% faster than the industry standard. 

Like our popular COM/X Series, they provide 
users of PC/XT/AT-compatible computers with four 
or eight individually addressable serial ports. But 
with the new COM/Xi series we’ve added: 

• an 80188 co-processor operating at 10 MHz 

• 256K of dual-ported RAM + 16KofROM, all 
accessible to user/ programmers for application 
and security software development 

• a modular design that allows us to custom- 
tailor I/O to individual customer requirements. 
On-board intelligence means more speed for 

multi-user operating systems and multi-channel 
data collection and dissemination. 

And makes the new DIGIBOARD COM/Xi 
Series a more intelligent choice for you. 


Digi 


Plugging you into Tomorrow. 

Call 1-800-344-4273. In Minnesota, ( 612 ) 922 - 8055 . 


SOFTWARE SENTINEL 

- 








Stop unauthorized use of software...and keep your cus¬ 
tomers happy at the same time. The no-interference hardware 
keys from the industry's leading supplier put money in your pocket and 
save you from angry customer complaints. Our product line includes 
devices for either parallel or serial port. The latest addition allows you to 
cover multiple programs with one device and/or customize 
as needed. Call for new low prices. 

SOFTWARE DEVELOPER BENEFITS 


• Prohibits unauthorized use 
of software 

• No need for copy 
protection 

• Algorithm technique 
(never a fixed response) 

• Virtually unbreakable 


»Higher level language 
interfaces included 

• 100 times faster (1 ms) 
than fixed response devices 

• Minimal implementation effort 

• Runs under DOS and Xenix, on 
IBM PC, AT, XT & compatibles 


SOFTWARE USER BENEFITS 

• Unlimited backup copies • Pocketsize 

• No floppy required with • Transparent 

hard disk • Transportable 


O 


RAINBOW 

TECHNOLOGIES. INC 


EVALUATION KIT AVAILABLE 

Telex 386078 


17971 SKYPARK CIRCLE SUITE E, IRVINE, CA 92714 


(714)261-0228 


CIRCLE NO. 157 ON READER SERVICE CARD 


The VF PC 

-From-- 

VF Associates 


The VF PC is fully IBM compatible... better than 
Leading Edge! The standard VF PC system is 
equipped with: 8088 motherboard, 8 slots, 150 
w. power supply, XT case, 2 floppy drives, hi-res 
12-inch green or amber TTL monitor, con¬ 
troller with Hercules-compatible graphics & 
printer port, 640K memory, full keyboard, 
and 1 year warranty (system unassembled) 

ASSEMBLED & TESTED: . 

DELUXE SYSTEM: with P/S/G ports and clock, AT style 
keyboard, 8 MHz turbo ^ 

motherboard, unassembled: . * 



COLOR SYSTEM, unassembled. ® 

PLEASE NOTE: The VF PC is designed so that you can 
assemble your own PC to create the system that’s best 
for you. Call us today about the other VF PC options that 
are available. Also, ask about our FREE catalogue. 



!'ASSOCIATES 


STORE HOURS: Monday through Thursday: 12 noon-8 p.m. 

Friday: 12 noon-6 p.m. ■ Saturday: 11 a.m.-5 p.m. 
(Pikesville Store Closed Wednesdays) 

8231 Woodmont Ave., Bethesda, MD 20814 S ooi) 652-4232 
220 Reisterstown Rd., Pikesville, MD 21208 B (3oi) 484-8901 


194 


CIRCLE NO. 110 ON READER SERVICE CARD 


CIRCLE NO. 127 ON READER SERVICE CARD 

PC TECH JOURNAL 


























NEED IT FAST? 
WANT TO KNOW MORE? 
DON’T HAVE TIME TO 
SHOP AROUND? 


INTRODUCING... 


I f you’re like most system pro¬ 
fessionals you’re up-to-date 
about the products in the PC 
marketplace. You’re aware of 
brand and model differences, are 
informed about connectivity and 
compatibility problems, and you 
shop for competitive prices and 
fast service. 

You’re also probably among the 
many PC TECH JOURNAL readers 
who purchase by mail. That’s 
why we’re starting THE MART— 
PC TECH JOURNAL’S First Class 
Mail-Order Section. 

Starting this month, and every 
month hereafter, you’ll find the 
products you’re looking for 
advertised in THE MART—and 
you’ll benefit from the fast 
service and helpful support that 
identifies PC TECH JOURNAL 
advertisers. 

If you’re ready for First Class 
service, you’re ready for THE 
MART. 



THE 


FIRST CLASS MAIL ORDER SECTION! 


AST ADVANTAGE W/1 28K.$365 

VIDO 7 VEGA EGA .$425 

GENOA SPECTRUM.$295 

FORTE PJ.$875 

INTERNAL HARD DISKS FOR THE AT 

SEAGATE USED BY IBM 

PRIAM 40 MB.$1195 

PRIAM 60 MB.$1395 

RODIME 20 MB.$595 

RODIME 32 MB.$695 

CORE 20 MB "F".$1195 

CORE 30 MB' F' .$1395 

CORE 40 MB.$1795 

CORE 56 MB.$2595 

CORE MR _ S3PQS 

SEAG/ 

SEAG/ 

SEAG7 


no ^ m.is.Hsi 

e reflects quantity pure he 

"HOT" NEll) PRDDUC 


★ AMERICA’S ★ 
LOWEST PRICES 
ARE EVEN LOWER NOW!!! 


(25 MS) 


UNIock ALBUM “A" 

$49.95 


LASER 
128 Al' 

|uir yiu 

urnIf 

■Plot’s enha 
ltor softwar 
Compatibles 


■DEC VT-1OO/VT-52, a Retroi. 
JO, a Tektronix 4010/4014 oi 
Cl Tektronix 4027. Over 12,01 
jjrrently in use world-wide a 
■rations, educational facilities 
Bind independent consulting 

lore information call toll free| 


• LOTUS 1-2-3™ (i a, i.a*, 2.0) 

• dBASE III™ (1.0, 1.1, 1.2 & PLUS) 
•FRAMEWORK™ ( i.o, i.i,.» 

• SYSTAT™ (i.3 & 2 0) 
•SPOTLIGHT™ (i.o & id 

• GRAPHWRITER™ (4.3 & 4.3i) 

• REALIA COBOL™ (1.2,2.0) 

-—fWf 


ABKWT. 

B F. HT. 

BF.HT e (25 MS) 

fPEFT 


IBM XT 256K/1 Dr 20 MB 2250 

IBM XT 256K/1 Dr ,/30 MB 2299 

IBMA Tr /2K/20MB 3895 

IBM AT 512K/30 MB 3995 

Compaq Desk Pro-1 128K/1 Dr. 1699 

Compaq Portable 256K/2 Dr. 1650 

AST 6 PAK w/384 K/Advantage 259/369 

MCI MSC W/384K 175 

(25 MS) Samsung/PGS Max 12 109/169 

Princeton HX 12/E 435/535 

Hercules Color Card/Monochrome graphic 150/299 


Hayes 1200B w/SW 
US Robotics Courier 2400 


SPECIALS 


in MR Harr! nkk 


INTRODUCING 


ion Stef- 


High Perfol 
Drive Subsystem 

DRIV E PE| 

j ConfigurotTc 

|l G H PER F O R M A 

AT SPEEI 

I he industry's recognized leader in High Performance Spe 
live performed extensive research and developed unmatc S; 
I field. Our products offer the COMPLETE solution. 

IXCELX “ -Switch from five frequencies including the standi:! 
|12HMz. Uses reliable frequency synthesis to allow compote ;§ 
I with all IBM ATs including the TYPE 2 and Model 239 . 

SMII-Spec Crystals-The famous Ariel cyrstals. Choose fronr| : 5 
116-17-18-19-20-21-22-23-24 MHz. 

I FAST 80286-10-Micro-processor for 20-24 MHz speeds . 

1 FAST RAM-For System Board 128K 120 & IOO NS. 


4CoST/2 T 


Complete 
Forecasting 
System 

For marketing, planning, financial 
and forecasting professionals: 

I Easy to use menus with on-screen help 
facilities 

I Most often used forecasting methods 
I Popular spreadsheet interfaces 
I Outstanding color graphics 
I Fast RAM-based program 
I Thoroughly tested and numerically 

accurate _ 

I Exponential smooth 
I Step-wise and robus 
capabilities 
I Macro language for 
applications 
I Full documentation 

Only: $350 Demo F 

4CaST/2X: includes a f 
version of the Census’X- 
Only: $595 Demo C 

Roth 


IB for AT 
ISA MC AMEX COD P0 


Dr./MTR 


389 

479 

559 

895 

775 

37Q 

360/499 

575/675 


—-< 


opp 




“Top Sellers Series” 
UNIock DISK “NO. 101” 

$14.95 


LOTUS 1-2-3™ 

(I.A, I.A*. 2.0) 

“Top Seller Series” 
UNIocks individual 
best selling programs 
at a special low price! 


f \eh 

%\W®' 











































8088-2 CPU 

640K Ram Expand To 1MB 
4.77/8Mhz Speed 
360K Floppy Drive 
2 Serial Ports 
1 Parallel Port 
Clock/Cal. Battery 
SASI Interface 
135/150W P/S 


ramm 

ZK HEIGH ' 


SAME WARRANTY & 
SERVICE 
UNBEATABLE! 


V1SA/MC, PREPAYMENT 


FULLY IBM 
COMPATIBLE 


turnkey 
AT SYSTEM 


$1495 


✓ 80286-10 CPU 


✓ 6/10 MHz Speed 


✓ 1 MB RAM 


✓ 1 Serial Port/1 Parallel Port 

IS 

\* Hard Disk/FL Contr. 

§ ✓ 

✓ Clock/Cal, Battery 

✓ 

is 192W Power Supply 


i* AT Keyboard 


✓ Hercules Compatible 


Mono Adapter 

1 ✓ 

High Resolution Mono 


Monitor 


✓ Runs Autocad, Unix, Ze- 


nix, Novell 

1 * 

✓ 15 month Warranty 


✓ 30-Day Money Back 


Guaranty 


✓ Free Nationwide Onsite 


Warranty 


✓ Excellent Manuals 


✓ 24-Hr Online Tech 


Support 



DCTt 


$830 


CIRCLE NO. 183 ON READER SERVICE CARD 


PC XT /AT ADDON BOARDS 

• MS DOS/QW Basic 3.2.$80 

• XT Mother Board/Bios.$83 

• XT Turbo Board/Bios.$103 

• Monochrome/Graphic/Printer Card . . . $66 

• Monochrome Graphic Card.$60 

• Color Graphic/Printer Card.$60 

• Color Graphic Card.$50 

• XT Multi I/O Card.$73 

• XT I/O Plus II.$45 

• Floppy Disk Controller 

1 port.$25 

2 port.$33 

• RS232 Interface Card 

1 port.$22 

2 port.$27 

• Parallel Printer Card.$19 

• Clock Card.$25 

• Game Card.$18 

• Hard Disk Controller Card.$100 

• Hard Disk/Ploppy Disk Controller Card $123 

• XT 2 MB RAM Card.$195 

• AT Mother Board/Bios.$490 

• AT 3 MB Multifunction Card.$178 

• AT 4 MB RAM Card.$210 

• AT 1.2M Floppy Disk Card.$72 

• EGA Card.$245 

• AT HDC/FDC Controller w/Cable.$215 

KEYBOARDS 

• 5151 Style AT/XT Keyboard.$68 

• 747 AT Style AT/XT Keyboard.$53 

POWER SUPPLY 

• 150 Watt XT Power Supply.$53 

• 200 Watt AT Power Supply.$85 



MONITORS 

PARCO (Sony) 

Height Resolution 
12 " 90° Monitor 800 
x 700 Lines With 
rion-QIare 
Screen/Swivels 
Base Amber. $115 

• SAMSUNG - Amber.$79 

• TAXAPi 620 Color.$375 

• TAXAH 630 Super Hi-Res. Color.$445 

• TAXAH 640 Super Hi-Res. Color.$495 

• TAXAH 760 EGA Monitor.$499 

PRINTERS 

• RITEMAH PLUS (120 cps. 80 col.).$175 

• RITEMAH -15 (160 cps. 136 col.).$345 

• BROTHER M1509 (180 cps. 136 col.) . . . $395 

DRIVES 

• TEAC 360K Floppy Drive.$90 

• FUJISU 360K Floppy Drive.$82 

• CHIHOH 360K Floppy Drive.$85 

• 20MB Hard Disk/WD.$Call 

• 30MB Hard Disk/WD.$Call 

• 1.2MB TEAC AT Drive.$135 

CHASSIS 

• Flip Top XT Case.$29 

• Slide Off XT Case.$36 

• AT Jr. Style XT Case.$37 

• AT Case.$85 

All Cases Include Speaker/Hardware 
MODEMS 

• Internal Modem-Everex.$137 

Select 300/1200 bps, powerful BitCom 
Communication Software included. Auto 
answer/dial. 

• External Modem-Smarteam.$160 


PC/AT 2000 SYSTEM 



• 80286 Processor (6/8MHZ) 

• 1024K RAM 

• 1.2MB Floppy Disk Drive 

• AT Hard Disk/Floppy Disk Controller Card 

• Clock/Calendar with Batter Backup 

• AT Style Keyboard 

• 200W Power Supply/Case 

• Runs All Major Software 

• Six Month Warranty 

$1249 

PC/XT 2000 SYSTEM 



• 640K RAM 

• 360K Half Height Floppy Drive 
w/Controller 

• AT Style Keyboard 

• 150W Power Supply 

• Slide Off Case 

• Runs All Major Software 

• Six Month Warranty 

$495 


(201) 944-5002 
2142 N. Hudson St. 
Fort Lee, NJ 07024 

IBM PC, IBM XT and IBM AT are trademarks 
OF IBM corpration. 

MS-DOS is a trademark of Microsoft 
Corporation. 

Prices Subject to Change without Notice. 


ORDER TOLL FREE: 

1 - 800 - 367-1132 

MONDAY - SATURDAY 9AM - 6PM EST. 


Customer Service 
(201) 944-5010 
9AM - 5PM EST. M-F 


ORDERS SHIPPED UPS COD 
WITHIH 24 HRS. 



196 


CIRCLE NO. 184 ON READER SERVICE CARD 


PC TECH JOURNAL 






































































































Today’s 386 compatibles 
fall into two categories: 

Those that “enhance” technology. 


And (hose that blow it away. 



The PC Designs GV-386 is not an enhance- 
ment. It’s the fastest 80386-based compatible 
you can buy. 

That’s because the engineers here at PC Designs 
realized early on that to take full advantage of the 
80386 chip, an equally revolutionary motherboard 
was needed. 

So they started with a blank piece of paper and— 
from the ground up—designed a 80386 micro that 
blows the doors off every other compatible available. 

Get Power Hungry 

At the heart of the GV-386 is a 32-bit processor 
operating at 16MHz clock speed; keyboard switchable 
to 8MHz (it will even support 24MHz operation, once 
Intel makes that available). 

And that’s Zero Wait State clock speed, thanks to a 
specially-designed, high-speed memory cache circuit. 
When enabled, this unique circuit—with a full 64K of 
static RAM—allows you virtually instant data 
retrieval 80 percent of the time. 

The cache circuit—a PC Designs exclusive—also 
ensures rock-solid reliability because it eases the load 
high speed puts on the integrated circuits. Even at 
zero wait state, the GV-386 never exceeds IC design 
specifications. 

Radical, but compatible 

Despite its radical innovations, the GV-386 was 
designed to retain the standard 8MHz IBM PC-AT 
bus timing. The result is unparalleled compatibility 
with existing software and hardware. 

And every GV-386 is bundled with Desqview 1.3 
from Quarterdeck Office Systems, giving you both 
expanded memory management and multitasking 
capabilities allowing up to nine simultaneous opera¬ 
tions. 

Affordable power 

If all this speed and performance doesn’t blow you 
away, take a look at the price: The standard system 
starts at around $4000. And it’s available now. 

The fact is, it’s the most innovative compatible 
to date. So why settle for an 80386 machine that 
just “advances” technology, when the GV-386 
blows it away? 



2500 N. Hemlock Circle 
Broken Arrow, OK 74012 


19 Rector St., Suite 2705 
New York, NY 10006 


Call us now in New York: 1-212-514-7280 or in Tulsa: 1-918-251-5550 


CIRCLE NO. 159 ON READER SERVICE CARD 









i i.r~f.i ~r~T 


i i iir 



NOVELL 

NETWORKING 

DESIGN & 
INSTALLATION 



Technical Support and Shipping and Receiving 
(703) 761-6177 78 
ITS TEK-NET-BBS (703) 690-7462 


Open 7 days a week 
(703) 847-4740 (800) 642-2395 


"Serving the Nation's Capitol 

and the World" 


Software 


SUPERCALC 4 

$335 

SUPERPROJECT + 

$295 

WORDPERFECT 4.2 

$250 

DBASE 3 + 

$430 

FOXBASE + 

$335 

FRAMEWORK II 

$399 

RBASE 5000 

$320 

RBASE SYSTEM V 

$396 

CROSSTALK XVI 

$99 

REFLEX 

$96 

TURBO PASCAL 

$42 

TURBO PROLOG 

$60 

TURBO LIGHTNING 

$61 

NORTON UTILITIES 

$57 

MS WINDOWS 

$69 

MS QUICKBASIC 

$65 

MS C-COMPILER 

$298 

MS WORD 

$280 

WORDSTAR 2000 

$270 

MULTIMATE 


Easg Business 


Accounting Systems 

GENERAL LEDGER 

$395 

ACCOUNTS RECEIVABLI 

$395 

ACCOUNTS PAYABLE 

$395 

INV. CONTROL 

$395 

RETAIL INVOICING 

$395 

PAYROLL 

$458 

ORDER ENTRY 

$395 

TIME, BILLING &REC. 

$635 

Video Cards 


QUAD EGA + 

$379 

PARADISE AUTO 


SWITCH 

$419 

STB EGA 

$299 

TECHMAR EGA 

$299 

VEGA DELUXE 

399 


Drives 

20 MB SEAGATE 65MS 

$399 

30 MB SEAGATE RLL 

$499 

20 MB ST4026 AT 

$573 

30 MB ST4038 AT 

$651 

40 MB ST4051 AT 

$792 

80 MB ST4096 AT 

$1273 

40MB PRIAM XT 

$1395 

60MB PRIAM XT 

$1450 

40MB PRIAM AT 

$1175 

60MB PRIAM AT 

$1350 

BERNOULLI DUAL 10 

$1939 

BERNOULLI DUAL 20 

$2594 

20MB PLUSHARDCARD 

$695 

20MB MAYNARD HCARD 

$759 

ISI WORM 220MBINT. 

$3295 

TEAC360K DRIVE 

$89 

60MB ARCHIVE TAPE 

$740 

60MB ARCH. EXT. TAPE 

$740 

60MB GENOA TAPE 

$935 

60MB SYSGEN 

$1089 

TOSHIBA 3.5 DRIVE 

$150 

TOSHIBA 10 MB DRIVE 

$899 

‘TOSHIBA 5.25 EXT. 

$349 

Memory Boards 

JRAM2 

$129 

JRAM 3 ABOVEBOARD 

$179 

JRAM AT 

$179 

JRAM AT3 ABOVEBOARD $239 

JLASER MODULE 

$265 

JLASER + AVAIL. 

INTEL ABOVEBOARD 

$438 

AST RAMPAGE 512K 

$485 

ORCHID CRAMRAM 

$291 

ZUCKER BOARD 

$68 

AST 6 PAK + W/384 

$199 

QUADBOARD W/384 

$189 

Chips 


64K 150ns set of 9 

$8 

64K 120ns set of 9 

$9 

256K/150ns set of 9 

$23 

256K/120ns set of 9 

$25 

64x4 

$4 

128K Piggyback 

$5 

8087-3 

$119 

8087-8 

$169 

80287 5MHz 

$239 

80287 6MHz 

$245 

80287 8MHz 

$318 


• Prices subject to change 
12/18/86 

• 10% re-stock fee 
on all items 


•Software non-returnable 
if opened 

• No surcharge on VISA, MC, 
CHOICE.. .AE, 3% 




chnology Services 

ems Specialists 
., Vienna, VA 22180 

Printers 

, Inc. 

NEC P-6 

$480 

NEC P-7 

$685 

NEC P-5 

$1122 

NEC P-5XL 

$1245 

PANASONIC 1080 I 

$235 

PANASONIC 1091 I 

$299 

PANASONIC 1092 

$360 

PANASONIC 1592 

$480 

STAR LV1210 

$189 

STAR NX-15 

$383 

STAR ND-15 

$445 

STAR NR-15 

$537 

STAR NB 24-15 

$699 

STAR SD-10 

$355 

STAR NX-10 

$255 

BROTHER 1509 

$440 

CITIZEN MSP-10 

$320 

CITIZEN MSP-15 

$435 

CITIZEN PREMIER 35 

$485 

TOSHIBA P341 

$835 

TOSHIBA P351 

$1227 

FUJITSU DLP24 

$1239 

FUJITSU DM9I 

$413 

OKIDATA M182 

$253 

OKDATA M192 + 

$412 

OKIDATA M193 + 

$613 

OKIDATA M84 

$713 

OKIDATA 2410 

$1976 

EPSON FX-286 

$624 

EPSON LX-80 

$285 

EPSON FX-85 

$434 

EPSON LQ-800 

$631 

Laser Printers 

CANON A1 

$2095 

CANAON A2 

$3085 

HP LASERJET 

$2295 

QMS KISS 

$1995 

XEROX 4045 

$CALL 

Specials 

Color RGB Mon. 

$305 

Amdek310A 

$150 

TEAC 360 Drive 

$89 

Samsung Monitor 

$89 

Amdek 722 

$549 

NEC Multi-Sync 

$631 

* *Other Systems 

Sharp PC 7000 

$1095 

IBM XT 

$1798 

IBM AT 

$2789 

BIOS AT 8MHZ 

$1769 



Visa, MC, CHOICE, AE 
Leasing, Renting & 
Financing available 


Ipilsm 

s 895 


‘Editor’s Choice” 

ITS Turbo XT 

1 year warranty 
30 day 
money back 
guarantee 

The $895 ITS 
Turbo XT from 
Information and 
Technology Services 
is our “best buy” 
recommendation 
with 20MB $1224.00 


PC MAGAZINE 
OCT. 14, 1986 
IBM® PC Compatible 


oo 

complete 



i 

2,895 


■^SPERRY 
PC/IT 

Superior to the IBM AT 
Rated 8.8 by InfoWorld 

44MB, 28ms Access Hard Drive 
3 Speed Processor 
Free 8MHz Math Coprocessor 
1.2MB Floppy , 640K Ram 
2 Serial/1 Parallel Ports 
Clock/Calendar, AT Keyboard 
DOS 3.1, Basic, System Guide 
oo 1 year warranty 





Available now 


4495 


00 


ITS 

SYSTEM 386 
BLACKHAWK 


Features: 

• INTEL 80386 CPU and support circuits 

• INTEL designed motherboard 

• Phoenix BIOS 

• 18 Mhz clock speed 

• PC/AT compatible 8 Mhz switchable 
from keyboard 

• 512K RAM standard up to 14 megabytes 

• Parallel/Serial/Clock 

• 8 Slot Expansion bus interface 

2- PC Compatible 8 bit bus connectors 
2-32 bit bus connectors 

• Hard disk/Floppy disk controller 

• 1.2 megabyte floppy 




TOSHIBA Lap-Top 
T-1100 Plus oHi 

(DUAL FLOPPY) $ ^gQ£*00 

• 256K Ram Memory $iqqc 

• CMOS 80C86 Run- * ith 

ning at 7.1 MHz • Two 
720K 3.5" Floppy Drives 

• One Expansion Slot • 

TOSHIBA Keyboard • LCD Display 

• Color Graphics/Monochrome Composite 
Card • One Parallel and Serial Port • Clock Calendar 

• External Floppy Drives Optional • DOS 2.1 



1800 + 

80286 CPU 


IBM AT Compatible 
512K of RAM 
expandable to 1MB 
1.2MB Floppy 
AT Keyboard 
Documentation and 
Diagnostics 
Made in the USA 



s 1195 


OO 






































































































Programmer’s Paradise Gives You Superb Selection, 
Personal Service and Unbeatable Prices! 

Welcome to Paradise. The PC/MS-DOS software source that caters to your individual programming needs. 

Discover the Many Advantages of Paradise... 

• Lowest price guaranteed Huge inventory, immediate shipment • Special orders 

• Latest versions Knowledgeable sales staff 30 -day money-back guarantee 


We’ll Match Any Nationally Advertised Price. 


C+ + 

ADVANTAGE C+ + 


LIST OURS 


$ 495 CALL 


LIST OURS 


LIST OURS 


PFORCE++ 

395 CALL 

C COMPILERS 



C-86 PLUS 

497 CALL 

DATALIGHT -C 

60 

49 

DATALIGHT - C DEVELOPER’S KIT 99 

79 

LATTICE C 3.2 

500 

289 

LATTICE C W/SOURCE 

900 

545 

LET’S C 

75 

59 

W/CSD DEBUGGER 

150 

109 

MICROSOFT C 4.0 

450 

275 

MARK WILLIAMS C 

495 

289 

SUPERSOFT C 

395 

339 

WIZARD C 

450 

369 

C INTERPRETERS 



C-TERP 

300 

235 

INSTANT C 

500 

379 

INTRODUCING C 

125 

105 

RUN/C 

150 

89 

RUN/C PROFESSIONAL 1.1 

250 

169 

ASSEMBLERS, LINKERS 



386IASM/LINK 

495 

445 

ADVANTAGE LINK 

395 

349 

MACRO-86 

150 

98 

PASM-86 

195 

135 

PLINK 86 PLUS 

495 

335 

QUELO 68000 X-ASM 

595 

509 

Polytron Specials 


POLYBOOST 

80 

65 

POLYTRON C BEAUTIFIER 

49 

45 

POLYTRON C LIBRARY I 

99 

75 

POLYTRON POWERCOM 

179 

135 

POLYLIBRARIAN 

99 

75 

POLYLIBRARIAN II 

149 

115 

POLYMAKE 

99 

75 

POLYWINDOWS PRODUCTS 

CALL CALL 

POLYXREF 

219 

175 

POLYXREF (One Language Only) 

129 

105 

PVCS 

395 

315 


C UTILITY LIBRARIES 

ASYNC MANAGER 
BASIC C 
C ESSENTIALS 
C FOOD SMORGASBORD 
W/SOURCE 
C TOOLS PLUS 

ESSENTIAL C UTILITY LIBRARY 
ESSENTIAL COMMUNICATIONS 
W/BREAKOUT DEBUGGER 
GREENLEAF FUNCTIONS 
GREENLEAF COMM 
THE HAMMER 
MULTI C 
MULTI COMM 
PFORCE 
TIMESLICER 

W/LIBRARY SOURCE 
TOPVIEW TOOLBASKET 


175 

175 

100 

150 

300 

175 

185 

185 

250 

185 

185 

195 

149 

149 

395 

295 


135 

129 

85 

98 

188 

135 

135 

135 

195 

135 

135 

175 

135 

135 

245 

265 


SORT UTILITIES 

AUTOSORT 

M/SORT 

OPT-TECHSORT 


150 

155 

149 


1000 CALL 
250 189 


GRAPHICS 


ADVANTAGE GRAPHICS 

295 CALL 

ESSENTIAL GRAPHICS 

250 

195 

GSS GRAPHICS DEVELOPMENT 



TOOLKIT 

495 

379 

GSS KERNEL SYSTEM 

495 

379 

GSS METAFILE INTERPRETER 

295 

239 

GSS PLOTTING SYSTEM 

495 

379 

HALO—ONE LANGUAGE 

300 

209 

HALO—FIVE MICROSOFT 



LANGUAGES 

595 

415 

METAWINDOWS 

185 

115 

METALINDOWS PLUS 

235 

189 

METAFONTS 

80 

59 

METAFONTS PLUS 

235 

189 


SCREEN DISPLAY, WINDOWS FOR C 

C WORTHY 295 269 

CURSES 125 94 

W/SOURCE 250 184 

DATA WINDOWS 225 159 

W/SOURCE 450 315 

FLASH UP WINDOWS 75 68 

MICROSOFT WINDOWS 

DEVELOPMENT SYSTEM 500 329 

ON-LINE HELP 149 109 

PANEL 295 224 

SCREENPLAY (LATTICE) 150 135 

SOFTSCREENHELP 195 175 

VIEW MANAGER 275 199 

VITAMIN C 3.0 225 199 

VC SCREEN 99 84 

WINDOWS FOR C 195 145 

WINDOWS FOR DATA 295 250 

ZVIEW 245 189 

FILE MANAGEMENT 

BTRIEVE 245 195 

XTRIEVE 245 195 

W/REPORT GENERATION 390 315 

BTRIEVE/N 595 465 

XTRIEVE/N 595 465 

W/REPORT GENERATION 940 750 

C TREE 395 329 

RTREE 295 249 

CTREE/R TREE BUNDLE 650 529 

CQL 395 329 

DBC III 250 189 

W/SOURCE 500 379 

DB VISTA 195 155 

W/SOURCE 495 425 

DB QUERY 195 155 

W/SOURCE 495 425 

FABS 150 129 

FABS PLUS 195 169 

INFORMIX 795 639 

INFORMIX 4GL 995 799 

INFORMIX SQL 795 639 

PHACT 295 265 


MAKE, LINT, PROFILE, UTILITIES 

C CROSS REFERENCE GENERATOR 50 
LMK 195 

POLYMAKE 99 

PMAKER 125 

PFINISH 395 

THE PROFILER 125 

PC LINT 139 

PRE-C 295 

TEXT MANAGEMENT UTILITIES 120 

DEBUGGERS 

ADVANCED TRACE 86 175 

BREAKOUT 125 

CODESMITH 86 145 

C SPRITE 175 

Cl PROBE 75 

CSDSOURCE DEBUGGER 75 

PERISCOPE 13.0 345 

PERISCOPE II 3.0 175 

PERISCOPE II-X 3.0 145 

PFIX 86 PLUS 395 

XVIEW86 60 


129 

139 

115 


39 

145 

75 

95 

245 

94 

105 

165 

94 


139 

99 

108 

138 

59 

59 

293 

145 

109 

245 

49 


February’s 
Bundle of the Month 

BTRIEVE, XTRIEVE, REPORT GENERATOR 
(formerly RTRIEVE) 

LISTS TOGETHER $635 OURS $495!!! 


EDITORS 



BRIEF 

195 CALL 

CVUE 

75 

59 

W/SOURCE 

250 

195 

EDIX 

195 

155 

EMACS 

295 

265 

EPSILON 

195 

159 

FIRSTIME (C) 

295 

229 

KEDIT 

125 

105 

LSE 

125 

95 

PMATE 

195 

125 

PC/VI 

149 

129 

SPF/PC 

195 

149 

VEDIT 

150 

109 

VEDITPLUS 

185 

139 

ADDITIONAL PRODUCTS 



DAN BRICKLIN’S DEMO PROGRAM 

75 

59 

FASTBACK 

175 

149 

INTERACTIVE EASYFLOW 

150 

129 

PDISK 

195 

129 

SOURCE PRINT 

139 

115 

VENTURA PUBLISHER (XEROX) 

895 

805 



LIST OURS 

PASCAL COMPILERS 



MICROSOFT PASCAL 

300 

189 

PASCAL 2 

350 

329 

TURBO PASCAL 

100 

69 

OTHER BORLAND 



PRODUCTS 

CALL CALL 

TOOLS FOR TURBO PASCAL 



ALICE 

95 

68 

FIRSTIME 

75 

59 

FLASH UP WINDOWS 

75 

68 

HALO 

300 

209 

TURBO HALO 

129 

99 

SCREENPLAY 

100 

89 

SCREEN SCULPTOR 

125 

94 

T-DEBUG PLUS 

60 

50 

TURBO EXTENDER 

85 

65 

TURBO PASCAL ASYNC MGR 

100 

84 

TURBO PROFESSIONAL 

70 

49 

TURBO POWER TOOLS PLUS 

100 

83 

TURBO WINDOWS 

80 

65 

OTHER TURBO TOOLS 

CALL CALL 


NEW Products 

ADVANTAGE GRAPHICS—Fast, powerful 
and extensive graphics library offering a full set of 
graphics primitives. No royalties, many languages! 
List $295 Ours CALL 

DATA WINDOWS—Greenleaf’s latest offering 
includes integrated windows, transaction data 
entry, pop-up, pull-down, Lotus-style menu 
systems. And more! DataWindows is fast, writing 
directly to video memory. 

List $225 Ours $159 

w/Source List $450 Ours $315 

PASCAL 2—Highly optimized Pascal compiler, 
with source level debugger, profiler. 

List $350 Ours $329 

TIMESLICER—Multitasking, linkable library 
supporting concurrent tasks and real-time event 
processing with header files provided for C+ +, C 
and assembly. Library source available! 

List $295 Ours $265 

VENTURA PUBLISHER (XEROX)—Desktop 
publishing software, lightning fast, loaded with 
features. Create professionaHooking docu¬ 
mentation at minimal cost! 

List $895 Ours $805 


BASIC 


BETTERBASIC 

199 

139 

SUMMIT ADD ONS 

CALL CALL 

BETTER TOOLS 

95 

89 

FINALLY 

99 

89 

MICROSOFT QUICKBASIC 

99 

75 

PROFESSIONAL BASIC 

99 

75 

8087 MATH SUPPORT 

50 

45 

PANEL-BASIC 

145 

115 

TRUE BASIC 

150 

105 

ADDONS 

CALL CALL 


OTHER PRODUCTS AVAILABLE TO THE 
BASIC PROGRAMMER INCLUDE 
MULTIHALO, BTRIEVE, GSS GRAPHICS, 
SCREEN SCULPTOR, STRUBAS, 87 BASIC. 

COBOL COMPILERS/UTILITIES 


MICROSOFT COBOL 

700 

445 

MICROSOFT COBOL TOOLS 

350 

205 

MICROSOFT SORT 

195 

139 

MICRO/SPF 

175 CALL 

OPT-TECHSORT 

149 

115 

REALIA COBOL 

995 

785 

SCREENPLAY 

175 

155 

RM/COBOL 

950 

639 

RM/COBOL 8X 

1250 

895 

VISUAL COBOL (MBP) 

1150 

1015 


FORTRAN COMPILERS/UTILITIES 


LAHEY FORTRAN 

477 CALL 

MICROSOFT FORTRAN 

350 

209 

RM/FORTRAN 

595 

389 

ACS TIMES SERIES 

495 

419 

87SFL 

250 

225 

FOR-WINDS 

90 

78 

FORLIB-PLUS 

70 

54 

GRAFMATICS OR PLOTMATICS 

135 

119 

GRAFMATICS AND PLOTMATICS 

240 

219 

FORTRAN SCIENTIFIC 



SUBROUTINES 

295 

249 

POLYFORTRAN TOOLS I 

179 

143 

STRINGS AND THINGS 

70 

54 


ALSO AVAILABLE TO THE FORTRAN 
PROGRAMMER: PANEL, MULTIHALO, 
BTRIEVE, ESSENTIAL GRAPHICS, FLASH UP 
WINDOWS, GSS GRAPHICS, OPT-TECH SORT. 

PROLOG 

ARITY PROLOG (STANDARD) 95 79 

ADDIT. ARITY PRODUCTS CALL CALL 

CHALCEDONY PROLOG 100 89 

TURBO PROLOG 100 79 

LISP, OTHER AI, CALL FOR 
INFORMATION, PRICING, 

AVAILABILITY. 


Terms and Policies 

• We honor MC, VISA, AMERICAN EXPRESS 

No surcharge on credit card or C. O. D. Prepayment by check. New York State residents add applicable 
sales tax. Shipping and handling $3.00 per item, sent UPS ground. Rush service available, prevailing rates. 

• Programmer’s Paradise will match any current nationally advertised price for the products listed in this ad. 

• Mention this ad when ordering—some items are specially priced. 

• Prices and Policies subject to change without notice. 

• Corporate and Dealer inquiries welcome. 


800-445-7899 


In NY: 1-800-642-6471 


Programmer’s Paradise 

487 E. Main Street, Mt. Kisco, NY 10549 
914-332-4548 

CIRCLE NO. 143 ON READER SERVICE CARD 


Programmer’s 













































Turbo Screen/Application Generator 

Be 3-6 times more Productive!!! 

Guaranteed* For$69 95 (one month holiday special) 

Turbo Master helps you develop your functional specs (Generates Screen, File, Isam, Variable and Menu Control Documentation) and 
then allows you to "Quickly” prototype a validation model of your system. (Which can be incorporated as part of your functional 
specifications.) Turbo Master can then generate a super-fast Turbo Pascal Program that features advanced screen input and control, a 
professional control menu, the database functions of (1) Add/Edit/Delete Records (2) Search Database by any Key (3) Database 
Recovery programs (4) Screen/Printer Report for each of the keys. Each Key can have up to 6 fields. 



I ry the demo package included for 30 days 
If not pleased return for a full refund 


•RISK FREE TRIAL 

Receive 6 Floppy Disks and a manual containing: 

1. Screen Painter/Editor & Generator • Paint menu screens using Keyboard • Has variable dictionary to 
provide consistant edits • Date entry masks • Date & range checks • Field and/or global help screens 
• Box & line drawing • Error & message handler 

2. Help Screen Maker • Different help screen for each field. 

3. Menu Editor & Generator • Allows selection by 4 methods. 

4. Database Program Generator • Produces "Easy to Read" code that can be easily modified by 
experienced developers. 

5. Resident Isam Module - compatible with Turbo Toolbox, but saves 8K of codespace and 10K of 
dataspace. 

6. Turbo Resident Screen Capture Utility which allows you to capture Text Screens from any running program 

& Much, Much More N ° 

Credit Card & C.O.D. Orders Call: 1-800-821-9503 
In Florida 1-800-342-0137 


Turbo Master by 

Hawaiian Village Software . . $69.95 
Btrieve Interface by 
Innovative Interfaces 99.95 

Turbo Pascal by 

Borland International $99 95 

For Further Information Call: 

(305) 892-5686 


Add 7.50 shipping to all U S Cities All foreign 
orders add 15 00 per product ordered 


Btrieve is a trademark of SoftCraft Inc Turbo Pascal & 
Turbo Database Toolbox are trademarks of Borland 
International 


GET 1 YEAR ON SITE SERVICE FREE 


B.E.S.T. 286 AT 9 Compatible 

640 KB RAM Bare Bone System: $999 


*FREE* 

□ DOS 3.1 ($85 Value) 

□ 1 Year Nationwide on site 
service (Parts & Labor) 


only 


(Qty. 2) 



STANDARD FEATURES: 

• Clock/calendar w/battery back-up 

• FCC and U.L. APPROVED 

• 6/8 MHz 80286 Microprocessor 

• 80287 Math Co-processor Socket 

• 8 Expansion Slots 

• 640 KB RAM Expandable to 
1024 KB on Mother Board 

• 200 WATT U.L. Approved Power Supply 

• AT case with Lock and LED indicators 

• 5060 Compatible Keyboard 

• MS DOS 3.1 (*85 value FREE) 

• Full Documentation 

• Complete technical support 

• Fully compatible with IBM-AT 

SYSTEM CONFIGURATION B: 

• AT 640 KB RAM Bare Bone System 

• 1.2 MB Teac Floppy Disk Drive 

• 30 MB Hard Disk (39MS) 

• Western Digital WA-2 Floppy & Hard Disk Controller 

• 1 Year Nationwide (50 States) ON-SITE Service 

(Includes Parts & Labor) A jt mm 

• MS DOS 3.1 0n |ySl ? 995 

GET OUT OF THE LOOP! 

NO MORE RETURNS OR LONG WAITS FOR REPAIRS 
WE WILL FIX YOUR COMPUTER ON SITE 
FREE OF CHARGE FOR 1 YEAR 

Business Engineering Scientific Technologies 

1914 W. Farwell • Chicago, IL 60626 
(312) 465-8886 or (312) 262-3480 

Prices subject to change without notice 
IBM AT is a trademark of International Business Machines Corporation 


Evaluation Unit $1,095 
We Welcome VAR and Dealer Inquiry 
(quantity discounts available) 

All major credit cards accepted 


Turbo 286 - AT Compatible $1295 


• 8 expansion slots 

• 200 Watt Power Supply 

MEDICAL & DENTAL 

• Billing & Posting 

• Faster Collection 

• Improved Cash Flow 

• Easy Insurance Procedure 

• Appointment Scheduling 

• Management Reports 

LEGAL SOFTWARE 


• 640 K RAM 

• 6/8 MHZ Switchable 
from keyboard 

• 2 Floppy & Hard Disk 
Controller 

• 1.2 MB Floppy Disk 
Drive 

• Serial, Parallel Ports 

• Color Graphics Card 

• AT keyboard 


• Real-Time, Multi-User uinpn QTrtnP 

• Time & Billing MANAGEMENT 

• Client/Matter Reports . Full Rental Tracking 

• Aged A/R Report # Membership Control 

• Matter Account Inquire # Employee Code System 

• Transaction Entry & . H igh/Low Rental Report 

• Overdue Tape Report 


Editing 

CONSTRUCTION 

• Fully Integrated 
Construction 
Accounting System 

• Job Costing 

• Accounts Payable 

• General Ledger 

• Payroll 

• Accounts Receivable 

• And much much more 


POINT OF SALE 

• For all Retail & 
Wholesale Businesses 

• Cash Drawer & Bar 
Code Scanner Interface 

• Complete Audit Trail of 
all P.O.S. Transactions 

• Inventory Inquiry during 
sale, and much more... 






















Professional Programming Products 

for Microsoft C, pascal, FORTRAN, and Assembly Language 

\ v ,i ///' 



4 * 


& 


PC-WRITE™ text editor, and 
SOURCE CODE 


PROGRAMMERS AND SOFTWARE DEVELOPERS - LOOK AT THESE PRODUCTS! 

NO ROYALTIES REQUIRED 


ASMLIB 

The Programmer’s Library 

A Multipurpose set of over 200 Assembly Language sub 
routines supplied in the form of a linkable library. \ 


Virtual disk file handling. 
Int. driven asynch. support. 


& 


<ST 


• Graphics on EGA, here, and CG/^ 

• Floating point math and trig^fouflnes with 8087 support. 

• Installable keyboardprograms are easily writt 
with ASMLIB’s spcdCffTfunctions. 

• Plus much-Mjcn more. 

• Supplied\vith complete source code. 

Only $ 149 00 Complete 


asmTREE 

The Programmer’s B+Tree Data File 
Management System ^ '• 

• A complete single/ multiuser database manafjjfnent system 
written entirely in Assembly Language the Lattice “C” 
or Assembly Language programmer ftiese capabilities. 

• Up to 256 users. 

• Up to 256 index and data fi^ * 

• Multiple key types. ^0 

• Multiple indices ner maex file. 

• Duplicate anrfy&nable length keys. 

• Virtual fi^ handling 

• Plus^Gfch, much more 

• Supplied with complete source code. 

Only $ 395°° Complete 




NET-TOOLS - Network Programming Tools 


NET-TOOLS allows you to write programs for ANY NETBIOS compatible local area network - 
fast and easily. 

★A multitude of subroutines allow your program to handle all network tasks directly. 
★Redirect Local Devices simply and easily with a single function call. 

★Send and Receive disk files with error detection, issue a single call to NET-TOOLS, and it will 
automatically send a file of any length to a net-tools receiver. 

★Send and Receive Messages with automatic retries and error detection. Both the datagram 
and session protocols are available to your program. 

★COMPLETE SOURCE CODE IS PROVIDED - written in assembly language. 

only $149.00 complete 


♦FREE Assembly Language SOURCE CODE ! 

Outside CA, call TOLL FREE 1-800-262-8010 
USE YOUR VISA OR MASTERCHARGE - S H 

All prices include UPS shipping within continental United 
States. Outside U.S. please add $10 per package. Calif, 
residents please add 6.5% sales tax. 


B C ASSOCIATES 

3261 No. Harbor Blvd., Suite B 
Fullerton, CA 92635 

1 -800-262-8010 

in Calif. Call 

(714) 526-5151 


















TOLL FREE 
ORDER LINE 

800 - 258-0028 

FOR INFORMATION CALL 

616 - 452-3457 

3M Diskettes 


574" DISKETTES 

SSDDRH .$ .76 Each 

DSDDRH . 97 Each 

DSHD 96TPI . 2.17 Each 

3V 2 " DISKETTES 
SS MICRO. $1.32 Each 

DS MICRO.. 1.76 Each 

Sold 10/Box 


PRINTER RIBBONS 

Quality replacements for most popular printers. 
Min./6. 

Applelmagewriter .$3.95 ea. 

Apple Scribe .$2.95 ea. 

Epson LX 80/90.$2.95 ea. 

Okidata 80/82/83 .$1.49 ea. 


THE CLEAN IMAGE™ 
PRINTER HEAD 
CLEANING KIT 


Cleans your dot matrix print 
head in less than one minute. 
Compatible with Apple Image- 
writer I & II and others. Good 
for up to 10 cleanings. 

$14.95 Each 
FREE SHIPPING 


Min. Order $25.00. Add 10% for less than 50 disks. S&H: Continental USA 
$4.00/100 or fewer disks. $2.00 per dozen ribbons. Reduced shipping charge on 
largerquantities. Foreign orders, APO/FPO, please call. Ml residentsadd 4% tax. 
Prices subject to change without notice. Hours: 8:30 AM - 7:00 PM ET. 

Precision Data Products™ 

P.O. Box 8367, Grand Rapids. MI 49518 . 

Customer Service & Information: (616) 452-3457 — 

Toll Free Order Lines: Ml 1-800-632-2468 

Outside Ml 1-800-258-0028 


EVSAN COMPANY 

P.O.BOX 2143 DALY CITY, CA 94017 


(415) 991-1051 




DYNAMIC RAMS 

1 MEG 100ns 

41256 100ns 

41256 150ns 

41256 120ns 

4164 120ns 

4164 150ns 

4464 120ns 

4464 150ns 

4116 150ns 

SPEED UP YOUR IBM PC 20-30% 
REPLACE 8088/8086 with: 


V-20 
V-20 
V-30 


27512 

27256 

27C256 

27C256 

27128 

27128 

2764 

2764 

27C64 

2732A 

2732A 

2564 

2532 

2716-1 

2716 

2708 

8031 AH 
8035 


8mhz 

5mhz 

8mhz 

EPROMS 

250ns 

250ns 

200ns 

250ns 

150ns 

250ns 

200ns 

250ns 

200ns 

200ns 

250ns 

450ns 

450ns 

350ns 

450ns 

450ns 


8 0 0 O’ s 

5.25 
1.95 


8243 

8250A 


65.00 

4.75 

2.75 
3.10 
1.20 
1.00 
4.25 
3.95 

.98 


9.95 

8.95 

11.00 


18.75 

5.50 

7.10 

6.75 

5.75 
3.60 

3.75 
3.20 

4.90 

3.90 

3.50 

7.50 

4.10 
3.70 

2.95 

2.50 

2.00 

3.95 


80C35 

3.75 

8251A 

1.65 

TEAC 5V FD55B 

8039 

2.50 

8253-5 

1.75 

FUJ 

TSU 5V M2551 

80C39 

4.00 

8254 

3.50 



8085A 

1.75 

8255A-5 

1.80 

DIC 

TAL REAL TIME CLOCK 

80C85 

3.75 

8272 

3.50 



8086 

5.00 

8274 

4.75 


5832 

8155 

1.60 

8284 

2.95 


6242 

8156 

2.25 

8288 

5.25 



8212 

1.60 

8748H 

6.25 

Z80 

FAM1LY 

8216 

1.50 

8749H 

8.25 


Z80A CPU 4mhz 

8226 

1.75 




Z80A CTC 4mhz 

8237A-5 

4.75 




Z80A PI0 4mhz 






Z80A DART 4mhz 

INTERFACE 










STATIC RAMS 

1488 

.32 

1489 

.32 








5564PL 150ns 

L PRIME PARTS 



5565PL 150ns 


100% GUARANTEED 


TERMS & CONDITIONS : 

1) Visa & Mastercards Accepted with 
3% surcharge. 

2) Prices subject to change. PLease call 
for current 4 volume pricing. 

3) Shipping 4 Handling (1 lb) 

UPS Surface $3.00 

UPS 2nd Day $4.50 

California Residents add 6.5% sales 
tax. 


MATH 

CO-PROCESSORS 


C8087- 2 

8mhz 

142.00 

C80287-6 

6mhz 

168.00 

C80287-8 

8mhz 

275.00 

STAT 

1C RAMS 


43256L 

120ns 

25.50 

6264L 

100ns 

3.95 

6264L 

120ns 

3.60 

6264L 

150ns 

2.85 

6264P 

150ns 

2.65 

6116P 

150ns 

1.45 

201 6B 

100ns 

1.75 

4016 

150ns 

1.60 

4016 

200ns 

1.30 

2114A 

120ns 

1.50 

6147 

35ns 

3.25 


COLOR GRAPHIC CONTROLLER : 

D7220AD 

MOTHERBOARDS 

XT Motherboard 
XT TURBO BOARD 
AT Motherboard 

IBM COMPATIBLE 
INTERFACE CARDS 

Floppy Disk Drive Adaptor $ 45.00 

Color Graphic Adaptor 80.00 

Monographic Card 99.00 

Multifunction Cards 95.00 


18.50 


149.00 

210.00 

999.00 


FLOPPY DISK DRIVES 


94.00 

82.00 


2.80 

4.90 


1.20 

1.20 

1.20 

2.75 


5.25 

3.25 


PROMPT DELIVERY 


OFFICE HOURS : 

Monday thru Friday 7:30AM - 5:30PM 

Saturday 7:30AM -12:00Noon 

Data Sheets : $0.25 each 

Quarterly Flyers available , please call 

We reserve the right to substitute 
manufacturer. All merchandise subject 
to prior sale. 


CANADAS SOURCE 

FORC 


Compilers • Utilities & Aids • Editors 
Interpreters • De-Bugging Tools 
File Access Systems • Graphics 




5VZTIEO 


1 ^ 


<^> 


Lattice 



LIFEBOAT 


Complete Line of Programming Development Tools 
Full Service and Support - Fast Delivery 

CORPORATE DISCOUNTS 


VISA 




(416) 449-9252/5 

SCAN1EL SYSTEMS LTD. 

801 YORK MILLS RD., 201, DON MILLS, ONT M3B 1X7 


MEGAMEMORY AND 
DESKTOP PUBLISHING 


Lowest Prices In USA 

Fully Populated 2MB Boards 
Made by Tall Tree Systems 

HIGHEST QUALITY RAM CHIPS 


JRAM-2.$319 

JRAM-3 LOTUS-INTEL.$389 

JRAM-AT.$389 

JRAM-AT3 LOTUS-INTEL.$429 

JLaser-Plus PC.$599 


SUPER SPECIAL 


OMS KISS Laser Printer 
W/TWO MEGABYTE JRAM-3 
and JLASER-PLUS.... $2499 
600x300 Dots Per Inch! 


THE RAM EXPLOSION 

5119A Leesburg Pike, Suite 260 
Falls Church, VA 22041 

(703) 569-4471 

Dealer Inquiries Invited 
VISA/MASTERCARD AMEX 
An Authorized TALL TREE DEALER 


202 


PC TECH JOURNAL 




















































































MICROWAY MEANS 8087 PERFORMANCE 


FastCACHE-286™ 

Runs the 80286 at 8.5 or 11 MHz and the 
80287 at 5, 6 or 11 MHz. Includes 8 
kbytes of 55ns CACHE Works with more 
PCs than any other accelerator, including 
Leading Edge Model D, Compaq, and 
Turbo motherboards Includes 8088 
Reboot Switch, DCache and Diagno¬ 
stics . . From $449 



LOTUS/INTEL EMS 
SPECIFICATION BOARDS 

MegaPage™ The only EMS board which 
comes populated with two megabytes of 
cool-running low power drain CMOS 
RAM installed. Includes RAM disk, print 
spooler, disk cache and EMS drivers For 
the IBM PC, XT and compatibles...$549 

MegaPage with 0K.. $149 

Mega Page AT/ECC™ EMS card for the 
PC AT and compatibles includes Error 
Correction Circuitry. With ECC, 11 RAM 
chips cover 256K so the user never en¬ 
counters RAM errors Sold populated with 
1 megabyte CMOS... $699 or with 3 
megabytes CMOS cool running low 
power drain RAM ... $1295. Optional 
serial/parallel daughterboard. $95 


NUMBER 
SMASH ER/ECIVT 

Triples the speed of your 
PC, XT or compatible! jd 

From 

$599 


Accelerator 

Plus 

A Megabyte 
for DOS 

PC Magazine “Editor’s Choice” 


DATA ACQUISITION and 
REAL TIME TOOLS 

DAL™ - “Data Acquisition Language” 
Unkelscope™ - A real time data acquisi¬ 
tion, control and process software pkg. 
87 FFT and 87 FFT-2 
TransView Menu driven FFT Spectrum/ 

transfer analyzer.. $250 

RTOS- REAL TIME OPERATING SYSTEM 
A multi-user, multi-tasking real time oper¬ 
ating system. Includes a configured ver¬ 
sion of Intel’s iRMX-86, LINK-86, LOC-86, 
LIB-86, OH-86 and the MicroWay 
87DEBUG. Runs on the IBM-PC, XT, PC- 

ATand COMPAQ.$600 

INTEL COMPILERS Available for RTOS 
FORTRAN-86, PASCAL-86, PL/M-86. 


A2 0-160™ 

The Fastest 12 bit 
A/D Converter 

$1295 ^d 


287Turbcf-10/12 


160,000 Samples per second 
Pseudo Random Noise Generator/DAC 
Optional signal conditioners 
AFM-50 Programmable Low Pass 
Filter Module... $225 



287Turbo runs the 80287 
at 10 or 12 MHz in the IBM 
PC AT, compatibles and the 
new Compaq386with 100% 
software compatibility. 

10 MHz .$450 

12 MHz..$550 

PC Magazine “Editor’s Choice” 


8087 SOFTWARE 

IBM BASIC COMPILER.. $465 

MICROSOFT QUICK BASIC.$79 

87BASIC COMPILER PATCH.... $150 

IBM MACRO ASSEMBLER.$155 

MS MACRO ASSEMBLER...$99 

87 MACRO/DEBUG..$200 

MICROSOFT FORTRAN.$209 

RM FORTRAN. $399 

LAHEY FORTRAN F77L.$477 

MS or LATTICE C.. CALL 

STSC APL* PLUS/PC.$450 

STSC STATGRAPHICS.$675 

SPSS/PC+.$675 

87SFL Scientific Functions.$250 

PHOENIX PRODUCTS. CALL 

FASTBREAK for 1 -2-3 V.1 A..$79 

HOTLINK for 1 -2-3 V.1 A.$99 


8087 UPGRADES 

All MicroWay 8087s include a one year 
warranty, complete MicroWay Test Pro¬ 
gram and installation instructions 

8087 5 MHz..$114 

For the IBM PC, XT and compatibles 

8087-2 8 MHz.$149 

For Wang, AT&T, DeskPra NEC, Leading Edge 

80287-3 5 MHz.$179 

For the IBM PC AT and 286 compatibles 

80287-6 6 MHz,..$229 

For 8 MHz AT compatibles 

80287-8 8 MHz...$259 

For the 8 MHz 80286 accelerator cards 

80287-1010 MHz $395 

For the Compaq 386 

Call for prices on V20, V30, 

64K, 128K and 256K RAM 


287TURBO- PLUS™ 

Speeds up your AT 

Adjustable 80286 Clock 6-12 MHz 

10 MHz 80287 Clock 

Plus Full Hardware Reset... $149 

Ontirtnol QnOQR.1 H 



With 80287 10 MHz. 
With 80287 12 MHz. 


CALL (617) 746-7341 FOR OUR COMPLETE CATALOG 


Micro 
l/\lay 


P.O. Box 79 
Kingston, Mass. 
02364 USA 
(617) 746-7341 


The World Leader 
in 8087 Support! 


MicroWay Europe 
32 High Street 
Kingston-Upon-Thames 
Surrey England KT1 1 HL 
Telephone: 01-541-5466 













































TECH MARKETPLACE 

JHE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 

PRODUCT CATEGORIES 


SOFTWARE 




HARDWARE 


ACCESSORIES/SUPPLIES.207 

ARTIFICIAL INTELLIGENCE.207 

BUSINESS.207 

COMMUNICATIONS.207 

DATA BASE MANAGEMENT. 

EDUCATIONAL. 

ENGINEERING.207, 208 

EXPERT SYSTEMS.208 

GENERAL.208 

GRAPHICS.208 

LANGUAGES.208 

MULTI/USER SYSTEMS. 

NETWORKING. 

OPERATING SYSTEMS.208 

PROGRAMMERS TOOLS.209, 210 

PUBLIC DOMAIN.210 

SCIENTIFIC.211 

SECURITY DEVICES.211 

SOFTWARE UTILITIES . . . 211, 212, 213 

STATISTICS.211 

TERMINAL EMULATION.211 

WORD PROCESSING. 


ACCESSORY CARDS.205 

COOLING DEVICES. 

COMMUNICATIONS. 


COMPATIBLES .. 

GENERAL.206 

MASS STORAGE. 

PERIPHERALS.206, 207 


SECURITY DEVICES. 

USED EQUIPMENT. 

MISCELLANEOUS 


BAR CODING.213 

PUBLICATIONS.213 


Advertising Rates and Information: 

PC Tech Journal Marketplace 

PC Tech Journal Marketplace is a special 
economical section for product and service 
listings. 

Listings are grouped by category and sold by 
column inches. Second color option 
available. 

Standard Directory Listings are also available 
for a minimum of 3 issues at $170 per issue 
($510 total). 

For additional information 
call 212-503-5115. 


Advertising Rates and Information: PC Tech Journal Marketplace 


PC Tech Journal Marketplace is a special economical section for product and service listings. 
Listings are grouped by category and sold by column inches. Second color option available. 
Standard Directory Listings are also available for a minimum of 3 issues at $ 170 per issue ($510 
total). 

For additional information call 212-503-5115. 


PC Tech Journal Classified Advertising Staff 
One Park Avenue, New York, NY 10016 
(212) 503-5115 


Account Managers 

Territory #1—Anthony L. Perkins (212) 503-5116 


Advertising Director 
Kathryn J. Cumberlander 
Sales Manager 
Daniel L. Rosensweig 
Sr. Advertising Coordinator 
Monica Dixon 
Advertising Coordinator 
Angela Kiffin 


Sales Assistant 
Linda Annis 

Production Manager 
Anne Brockinton 
(212) 503-5441 

Production Coordinator 
Elliot Appel 
(212) 503-5470 


AL, AR. IA, IL, IN. KS, KY, AZ, CO. OR, NM, LA, 

MI, MN, MO, MS, NB, ND, OH. OK, SD, TN, TX, NV, 
AK, GA, UT, CA (ZIP 92999 & DOWN), CANADA 
(OTHER THAN BRITISH COL.) AND ALL OVERSEAS 
CALLS. 


Territory #2—Lisa B. Stick (212) 503-5172 

CT, MA, ME, NH, NJ, NY, RI, ID, MT, MD, VT, DC, 
DE, HI. NC, SC, FL, VA, WV, WI, PA, WA, WY. CA 
(ZIP 93000 & UP) BRITISH COL. 









































HARDWARE/ACCESSORY CARDS 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 




WFIElP @lEV@liSlB 

IN 80386 TECHNOLOGY 

SWITCH YOUR SLOW IBM 
"AT/XT286" INTO A FAST 386!! 

WITH THE KU386-ET16 

FEATURES: 

75 TO 250 7. FASTER THAN "COMPAQ" 

80386 SYSTEM SPEEDS OF 12 TO 

24 MHZ AND AT/XT286 BUS SPEED 

OF 6 TO 12 MHZ 

SELECTABLE 80287/80387 MATH CHIP 
SPEEDS AT 8/10/12/14/16 MHZ 

HIGH SPEED MEMORY EXPANDABLE 

TO 16 MEG ON BOARD 

BGI 386 BUS INTERFACE 

EXPANSION CONNECTOR ON REAR 

OF THE BOARD WILL PROVIDE 

COMPATIBILITY UITH "IBM 

386/RISC COMPUTER SYSTEMS 

KW CPU BOARD WILL TAKE ONE 

16 BIT EXPANSION SLOT 

BUILT IN 386 BIOS WILL INTERFACE 

WITH "IBM BIOS" TO PROVIDE 100 V. 
SOFTWARE & HARDWARE COMPATIBILITY 

BG I COMPUTER DIV. <215)538-3900 

CIRCLE 375 ON READER SERVICE CARD 












HARDWARE/ACCESSORY CARDS—PERIPHERALS 


■■■■■■■ 


Mm 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 

^■mmm 


Hardware 

Accessory Cards 

Z80 and HD64180 CO-processors 

For PC, PC/AT. Clock speeds to 9mhz. Prices start 
at $199.50. Run CP/M-80 software fast. De¬ 
velop code for Z80/HD64180 with software ICE. 
Run Intel ISIS tools. Interface to real world with 
iSBX bus devices. High speed communications, 
including Apple Talk compatible. 

Decmation 

2065 Martin Ave. #110 
Santa Clara, CA 95050 
(408)980-1678 


FIXED DISK BIOS/BOOT 

FiXT boots from most popular Hard Disks—DA- 
VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds 
XT-like BIOS interface to your disk for PC. Se¬ 
curity, multiple volumes, removable media sup¬ 
port optional. No-slot plug-in installation. Specify 
controller and computer with order. S80-S95. Add 
$3 shpg., CA tax. 



GOLDEN BOW SYSTEMS 
2870 Fifth Avenue 
Suite 201 

San Diego, CA 92103 
(619)298-9349 


IBM-AT SPEEDUP 

The High-Performance 
Speedlnjector from Ariel 

As the industry's recognized leader in high-performance speedup 
products, Ariel has performed extensive research and developed 
unmatched experience in this field. Our products offer the complete 
solution. 

• XCELX 286/287 XPRESS— A Speedlnjector for ALL IBM-ATs. Uses relia¬ 

ble frequency synthesis for full compatibility and high performance 
• 100% variable from 5-13 MHz CPU speed, while running • Mode 
switch defaults to standard 6 MHz or fast mode • Hardware reset 
switch • Speedup the 80287 independently. Choose from: Stand¬ 
ard— V3 CPU speed, 8, 10, 12, 14, or 16 MHz actual co-processor 
speed • Rear mounted • One-year warranty.$ 99.95 

• XCELX 286/287 XPRESS + The Speed Utilities— The Speedlnjector 

with software that will display exact XCELX frequencies • speedup 
hard disk by 50% • speedup keyboard reaction time • correct 
floppy disk access.$139,95 

• FAST 80286-10— For CPU speeds of 10+ MHz.$299.95 

• FAST 80287—8, 10,12,14,16 MHz.Call 

• FAST RAM— 100 & 120 NS, 128K 8c 256K.Call 

• Mil-Spec Crystals —The famous Ariel Crystals. For early ROM ATs. 

Available: 16-17-18-19-20-22-24 MHz.$ 19.95 

increase 
overall speed 
up to 300% 

A . . ORDER HOTLINE: 

yipj^I 204-788-9002 

RO. Box 866—Flemington, NJ 08822 

CIRCLE 376 ON READER SERVICE CARD 



Tech Marketplace, the home of the 
power buyer. 


DIGITAL SIGNAL PROCESSOR 

The Model 10 coprocessor board is based on the 
16/32 bit Tl TMS 32010 and is designed for ap¬ 
plications in communications, speech, instru¬ 
mentation, and numeric processing. A IK 
complex FFT takes 90ms. Offered with onboard 
12 bit 40 Khz A/D and D/A. Includes all utility 
and applications software. S650-S850. 
DalancoSpry 

Suite 241 2900 Connecticut Ave. NW 
Washington, DC 20008 
(202)232-7999 



“PC-Sprint is the most cost 

effective PC Speedup product 

on the market. ” 

—Computer Shopper Magazine 

• Run your PC, XT or clone 
at 7.38 mhz. 

• 280°/o Speedup (Norton 
SI rating) 

• Speeds up all software— 
you can see the difference 

• External speed switch 

• External reset button 

• Change speed “on the fly” 

• Compatible with 8087 

• Works with all color or 
mono displays 

• “Slotless” plug-in on most 
PCs 

• Includes: Selectable top 
speed, instructions, war¬ 
ranty , tool, remote mount 
switch, free BBS 
subscription 


5 89 


95 V20 add $10. Call for infor¬ 
mation on other products 


PC ANALYZER 

Real-Time debugging package for your PC or XT. 
Complete with board and debugging software. 
Also allows you to use your own software de¬ 
bugger. Nonintrusive operation, simple to in¬ 
stall. Operates with DOS & QNX. Price $995. Free 
shipping. 

Sofpak Technologies, Inc. 

215 Stafford Road, Unit 101 
Ottawa, Canada K2H 9C1 
(613)726-1908 



IMAGE ACE11= 

Video Capture System 

• Digitize video from cameras, 
tuners, and VCRs directly to 
your IBM PC display 

• 320 x 200 x 4 levels 

• 1.3 sec. full screen capture 

• Complete with hardware card, 
software, cable, and manual 

l odGE F lECTRQIVlicS 


P.O. Box 338 • Streamwood, IL 60103 

= (312) 837-6553= 

CIRCLE 378 ON READER SERVICE CARD 


Exec-PC, Inc. 

P.O. Box 11268 Shorewood, Wl 5321 

(414) 242-2173 [■ ■|g*g] 

CIRCLE 377 ON READER SERVICE CARD 


CREATE A DISKLLS PC! 

PC-R0MDRIVE allows users to create a “Disk¬ 
less PC" capable of booting a ROM-resident copy 
of MS-DOS and/or user application programs. 
PC-R0MDRIVE consists of a PC-compatible 
R0M/PR0M expansion board and the PC- 
R0MDRIVE software. PC-R0MDRIVE is priced 
at $195 for single units. Quantity discounts and 
OEM arrangements available. MC/VISA 
ALDIA SYSTEMS, Inc. 

P.O. Box 37634 
Phoenix, Az. 85069 
(602)866-1786 


General 


VIDEO LAN ‘LINK SYSTEM’® 

FOR IBM, PC, PC/XT, PC/AT labs. Instructor has 
complete control of all trainee computer moni¬ 
tors. Instructor can 1) transmit image, 2) receive 
trainee image or 3) transmit any trainee image 
to any/all trainees. Color or mono. Software-in¬ 
dependent. Increases instructor efficiency and 
trainee comprehension. 

APPLIED COMPUTER SYSTEMS, INC. 

3060 Johnstown-Utica Road 
Johnstown, OH 43031 
1-800-237-LINK 


Peripherals 

SPEECH SYNTHESIS 

SynPhonix: TRUE Unlimited Speech Synthesiz¬ 
er for IBM-PC/XT/AT/jr & compatibles. This low 
power short card includes an SSi263 speech 
chip, amplifier and speaker. Software includes 
Text-to-Speech, Phonetic Editor, Talking Clock 
& demos. Can be programmed with BASIC and 
other languages. Prices start below $200. 

S ynPhonix 

Electronic Speech Articulator 

Artie Technologies 
1311 N. Main St. 

Clawson, Ml 48017 
(313)435-4222 










































wmmmssmm 


HARDWARE/PERIPHERALS—SOFTWARE/ENGINEERING 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Software 

Accessories/Supplies 


Peripherals 


DATA INPUT DEVICES 

TPS provides Bar Code & Magnetic Stripe 
Readers for simple installation IBM PC, AT, 3161, 
3163, 3164, 3191, 3194 terminals, as well as 
many other microcomputers and terminals. No 
card slot or RS-232 port is required, and the 
readers are transparent to all software. A bar code 
print program (code 39) is available for the PC 
& AT at only $50 with the purchase of a reader. 
A magnetic encoder is also available for the 
PC & AT. 

TPS Electronics 
4047 Transport Street 
Palo Alto, CA 94303 
(415)856-6833 


PC-PROMPAK 
ROM Expansion for PC! 

Aldia systems introduces PC-PROMPAK, a “half¬ 
sized” PROM/ROM expansion board for IBM and 
IBM compatible PCs. PC-PROMPAK will sup¬ 
port up to six 28-pin JEDEC compatible devices 
(ex: 2764,27128,27256,27512,6264, etc.) with 
individually selectable address ranges. Prices 
start at $125 for single units. Quantity discounts 
and OEM arrangements available. MC/VISA. 
ALDIA SYSTEMS, Inc. 

PO. Box 37634 
Phoenix, AZ 85069 
(602)866-1786 


CP/M & 1.2Mb AT ON PC 

With MULTI-DISK card & UniForm-PC use 3.5, 
5.25 & 8-inch single & double density CP/M 
format as DOS diskettes on your IBM PC or XT. 
Many MS-DOS formats supported including IBM 
AT 1.2 Mb. HP-150 & Data General 1. Over 200 
formats. Both MULTI-DISK & Uniform-PC for 
$225. Disk drives & adapter cable available. 

PS Engineering 

PO. Box 51068 

San Jose, CA 95151-5068 

1-800-369-2398; 1-800-423-7171 in CA. 


EPROM/EEPROM PROGRAMMER 

Programs 2716-27512, 25xx, 68764/66 eproms 
via RS-232. Also 874x, micros, 28xxA & 52Bxx 
eeproms. Automatic Baud rate select, built in 
menus, no personality modules. Price: $250. 
Mention this ad for free terminal software. 16 BIT 
I/O MODULE $75 

For control of input or output lines via RS-232. 

Use with modems for remote control. 

INTELLITRONICS 

PO. Box 3263; Tustin, CA 92680 

(714)669-0614 


••SOFTWARE PUBLISHING •• 

GDS offers a wide variety of services that will help 
get your software to the market. Address your 
needs with GDS. 

• IBM style cloth/vinyl 3-ring binders/slips 

• Labels, sleeves, disk pages... 

• Disk duplication with 100% verification 

• Bulk diskettes 

• Shrink wrapping and assembly 

• Quick turnaround 

A well-packaged product can make the differ¬ 
ence in making a sale. Call us NOW. VISA/MC 
Glenco Development Systems 
3920 North Ridge Avenue 
Arlington Heights, IL 60004 
(312)392-2492 


Artificial 

Intelligence 

TURBO EXPERT 

Full Scale IBM-PC Expert Systems/Ready To 
Consult. $34.95. Runs on all compatibles. 
m. THE STOCK MARKET EXPERT 
#2. THE EXECUTIVE HEALTH EXPERT 
#3. THE PSYCHIATRY EXPERT 
#4. THE TURBO EXPERT TOOLKIT III 
Please specify # when ordering. 

Thinking Software, Inc. 

46-16 65 Place 
Woodside, N.Y. 11377 
(718)429-4922 


Business 

TRANSPORTATION RESEARCH 

TSA88 Transportation Simplex Algorithm 
(up to 510 sources, sinks or trans¬ 
shipment points) 

TNET88 Transportation Network System 
(networks up to 510 nodes & 16K 
links) 

TPR088 Transportation Problem Solver 
(shortest path, tours up to 50 stops) 

Req. 192K, color graphics adaptor. $99 each w/ 

8087 support, User’s guide. Write or call for our 

brochure. 

EASTERN SOFTWARE PRODUCTS INC. 

PO. Box 15328, Alexandria, VA 22309 

(703)549-5469 


Tech Marketplace. . . 

the comprehensive 
guide to products and 
services for the MS 
DOS market. 


Communications 


PC SERIAL DATA ANALYZER 

Use your IBM PC or compatible to analyze data 
streams between two serial devices (up to 9600 
BAUD). Two windows display each devices 
transmission in ASCII or HEX. PC can also act 
as a terminal for either device. Invaluable tool for 
debugging serial interfaces. Disk & manual $150. 
Triple C Software 
2897 SW 13th St. 

Fort Lauderdale, FL 33312 
(305)583-0687 


Engineering 


SIMULATION 

GPSS/PC is a full-power version of GPSS, the 
most popular mainframe simulation language. 
Specifically designed for interactive use on to¬ 
day’s high-speed microprocessors it is loaded 
with features such as interactive graphics and 
animation. Using GPSS/PC, you can predict the 
behavior of complicated real world systems. 
MINUTEMAN SOFTWARE 
PO. BoxT 171/B. Stow, MA 01775 
1-(800) 223-1430 
1-(617) 897-5662 (MA) 


METAL FABRICATORS 

PC/Cultist takes input from your bill of mate¬ 
rial—Detail drawing and calculates the best 
cutting combination for any length stock and 
prints a shop ready cutting list and scrap report. 
Also an optimization feature finds best multi 
length for mill orders. Price $300. Demo Disk 
$25.00 

THE JOSEPH ALBERT CO. 

PO. Box 611 

Blue Island, Illinois 60406 
(312)349-9032 


ENGINEERING SCREEN PLOT 

Screen plot engineering graphs. Single & mul¬ 
tiple graphs, regular & cross plot capability. Fi¬ 
nal report format. Input data from key-board or 
disk. Run your application programs, dump data 
to disk then plot. Easy to use, quick. Ask for 8087 
support if desired. Not copy protected. IBM-PC. 
$39.95. 

Lonney S. Pauls, Engineering Software 
22032 S. Springwater Rd. 

Estacada, OR 97023 
(503)630-2594 


FINITE ELEMENT ANALYSIS 

Full-featured SAPIV finite element program for 
3D static structural analysis. Includes all origi¬ 
nal elements-trusses, beams, plates, 2D plane, 
axisymmetric, 3D solids. Solves large prob- 
lems-up to 700 nodes. IBM/PC or compatible. 
Complete program for only $295! Try the 70 node 
3D truss/beam version—$39. 

APPLIED SCIENCE & DEVELOPMENT, INC. 
Suite 141,169 Southeast Cary Parkway 
Cary, NC 27511 
(919)467-4614 


DISK 

COPIER 



Fast (one minute) 
Simple (one button) 

Reliable (one board) 
$995 (one price) 


275 Santa Ana Ct., Sunnyvale, CA 94086 
(408) 737-8441 

CIRCLE 379 ON READER SERVICE CARD 













mmm 


SOFTWARE/ENGINEERING—OPERATING SYSTEMS 

TECH MARKETPLACE 

H^COMPREHENSIVEGUIDETCmODUCT^N^ERVICE^O^HEMSDOSMARm^^^ 


Engineering 

CAN WE TALK? 

You bet we can! BlueStreak Plus emulates 13 
terminals including VT100, multiple Comports, 
Baud rate to 19.2, Modem commands via AT 
command set, Resident mode. What’s more, you 
can customize BlueStreak Plus using languages 
like C, Turbo Pascal or Dbase. Create turnkey 
applications. Why pay more? 

BlueStreak Plus, $89.95 Lang-Allan, Inc. 

711 Clay St. 

Winter Park, FI. 32789 
(305)629-5788 

ENGINEER’S AIDE 

• Pipeline/Ductwork Sizing 

• Pump/Fan/Compressor Sizing 

• Heat Exchanger Sizing 

• Orifice/Control Valve Sizing 

• Project Financial Analysis 

• Conversion Calculator 

• Specification Writer 

Pull down menus, Pop-up help windows, Single 
Screen entry & results-ALL above for $395 (into 
price, $back guarantee). Mac Interface for IBM 
& MAC. 

ENGINEERING PROGRAMMING CONCEPTS 
P.0. Box 925 
Camarillo, CA 93011 
(805)484-5381 


Expert Systems 

CxPERT for Expert Systems 

C programmers interested in using expert sys¬ 
tems technology will love CxPERT. Al features 
such as explanations, why, frames, av pairs, le¬ 
gal values and more are completely compatible 
with C. Create executable systems with no roy¬ 
alties. $165 + $5 s&h. MD add 5%. CK/MO/ 
Visa/MC. Req. C compiler & DOS 2.0+. 
Software Plus 
1652 Albermarle Dr. 

Crofton, MD21114 
(301)261-0264 


General 


PUBLIC DOMAIN SOFTWARE IN C 

Over 115 volumes of public domain software in 
CP/M & MS-DOS formats. 

• editors & compilers 

• text formatters 

• communications packages 

• many UNIX-like tools 
Write or call for more details. 



Users' 

Group 


THE C USERS’GROUP 
P.0. Box 97 

McPherson, KS 67460 
(316)241-1065 


TAPE/DISK CONVERSIONS 

Conversion services to or from over 500 com¬ 
puter systems: 

• Magtapes 

• Micro Computers 

• Mini Computers 

• Word Processors 

• Typesetters 

Our conversion capabilities surpass most in the 
industry. 

Pivar Computing Services, Inc. 

165 Arlington Hgts. Rd.#T 
Buffalo Grove, IL 60089 
(312)459-6010 


DOCUMENTATION-BY MAIL™ 

Technical writing service specializing in long¬ 
distance production of economical and timely 
manuals for small, medium-sized and large de¬ 
velopers. Tutorials, user’s guides, reference 
manuals. Fixed price contract, professional 
quality, quick turnaround. Call for credentials, 
sample and free estimate. 

BNP Enterprises, Inc. 

20370 SW 84 Ave. 

Miami, FL 33189 
(305)253-2317 


GREAT SOFTWARE, CHEAP 

Only $5.95 per disk for absolutely smashing 
Shareware and Public Domain programs. Mon- 
eyback guarantee. PC-Outline, DOSamatic, PC- 
Write, File Express, Chess, Poster/Banner, Util¬ 
ities Galore plus Databases, Arcade and Adven¬ 
ture Games, and lots more! IBM PC, PCjr., & 
compatibles. Send for Free Catalog. 

PLUS 

33495 Del Obispo, Suite 160Q 
Dana Point, CA 92629 


Graphics 


MetaWINDOW'VTurboWINDOW’" 

Advanced graphics toolkit provides Xerox Star/ 
Apple Macintosh style graphics on your IBM PC. 
Supports most popular graphics cards. Allows 
you to create pop-up menus, windows & icons; 
use proportionally spaced fonts; rubberband & 
rag lines, text or bitmap images; supports mouse- 
cursor tracking. Tightly optimized for use with 
Turbo Pascal, IBM Pascal, C, Fortran. 
METAGRAPHICS SOFTWARE CORP. 

4575 Scotts Valley Drive 
Scotts Valley, CA 95066 
(408)438-1550 


FORTRAN GRAPHICS LIBRARY 

GRAFMATIC (screen graphics): 75 MS 
FORTRAN/Pascal, R-M/Profort, Lahey FORTRAN 
callable subroutines. Fully documented, prof, 
graphics capabilities, inc. general utility, 2-D in¬ 
teractive, total 2-D plots, 3-D plots and solid 
models. $135. H-P or H-l plotter? get 
PLOTMATIC, complete plotter graphics library. 
Interfaces w/GRAFMATIC. $135. Both $240. 
MICROCOMPATIBLES, INC. 

301 Prelude Drive Dept. J 
Silver Spring, MD 20901 
(301)593-0683 


FORTRAN TOOLS & GRAPHICS 

PC-PLT: CALCOMP and VERSAPLOT Compati¬ 
ble Graphics Package for the Fortran 
Programmer. Supports CGA, EGA, 
Tecmar and Printer Graphics. $325 
PC-TOOLS: 125 Subroutines and Functions 
Giving Fortran Programmers 
Complete access to the PC. $125 
ONTAR Corporation 
129 University Road 
Brookline, MA 02146-4532 
617-739-6607 


35mm SLIDE FROM YOUR PC 

COMPUTER SLIDE EXPRESS converts graphic 
files produced on the IBM PC into brilliant 35mm 
color slides with color resolution 400% better 
than your monitor. Leave your printouts behind. 
Use high resolution color slides up to 4000 line. 
COMPUTER SLIDE EXPRESS $9/slide. 

VISUAL HORIZONS 
180 Metro Park 
Rochester, NY 14623 
(716)424-5300 


SCIENTIFIC DATA PLOTTING 

SCI-GRAF creates graphs up to 1680 X1712 dots 
(over 3 million pixels!) on Epson or IBM graph¬ 
ics, printers. Supports log scaling, overlays, 
point-labeling, legend creation, batch mode, 
wide-carriage printers, and color graphs on a JX- 
80. Requires DOS 2 or 3,256k. No credit cards. 
$99.95 

Microcomputer Consultants (MSC) 

32 WAnapamu Suite 190 
Santa Barbara, CA 93101 
(805)963-3412 


Languages 


FINALLY! MODULES 

Add class to your compiled BASIC programs with 
FINALLY ! MODULES. Use pull-down WIN¬ 
DOWS, horizontal menus, pop-up help screens, 
input screen and directory managers. For use 
with FINALLY! Library and Quick Basic 2.0 or IBM 
compiler 2.0.30 day MoneyBack guar. Visa/MC/ 
CK/MO. FINALLY! MODULES is $99.00 +$4.00 
s/h. 

Komputerwork Inc. Dept PCT 
851 Parkview Blvd. 

Pittsburgh, PA 15215 
(412)782-0384 


Operating Systems 





Real-Time Multitasking Executive 


■ No royalties 

■ Source code included 

■ Fault free operation 

■ Ideal for process control 

■ Timing control provided 

■ Low interrupt overhead 

■ Inter-task messages 

Options: 

■ Resource Manager 

■ Buffer Manager 

■ Integer Math Library 

■ Language Interfaces; 

C Pascal 
PL/M Fortran 

■ DOS File Access ; 

CP/M-80 
IBM PC DOS 



AMX is TV of KADAK Products Ltd 
CP/M-80 is TM of Digital Research Corp 
IBM. PC DOS are TM of IBM Corp 


AMX for 8080 $ 800 US 

8086 950 

6809 950 

68000 1600 

Manual (specify processor) 75 


Jk KADAK Products Ltd. 

206- 


(604) 734-2796 
Telex: 04-55670 
1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5 
CIRCLE 380 ON READER SERVICE CARD 







































SOFTWARE/PROGRAMMERS TOOLS 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Programmers Tools 


“NEW” BIT-LOCK® SECURITY 

Piracy SURVIVAL “>4” YEARS proves effective¬ 
ness of powerful multilayered security. Uses rapid 
decryption algorithms and small reliable port for 
transparent security device. NOW AVAILABLE for 
PARALLEL or SERIAL port. NEW KEY-LOK™ se¬ 
curity device available at HALF-PRICE. 
MICROCOMPUTER APPLICATIONS 
7805 S. Windermere Circle 
Littleton, CO 80120 
(303) 798-7683 or 922-6410 


GENSCREENFORMS-COBOL 

Cobol Source Code Generator for generating the 
screen section and data division cobol source 
code for Microsoft and IBM PC cobol. Screen 
Image Text files are run through GENSCREEN to 
produce all of the source code for your screen in 
less than a minute. Super fast programmer pro¬ 
ductivity tool $69.99. 

Personal Computer Development Corporation 
P.0. Box 8556 
Warwick, R.l. 02888-8556 
(401)333-8704 


VERSION CONTROL SYSTEM 

TUB™ stores ALL versions of your source in ONE 
compact library file, even with hundreds of re¬ 
visions. Updates (deltas), 5-7 times faster than 
Unix SCCS. Date & comments for each version, 
easy retrieval. LAN-shared libraries. Free public 
domain MAKE (with source) by Landon Dyer. 
DOS 2.X/3.X $99.95 $3 s/h VISA/MC. 

Burton Systems Software 
P.0. Box 4156 
Cary, NC 27511-4156 
(919)469-3068 


MODULA-2 TOOLS: $19 

REPERTOIRE—the proven toolkit for Logitech, 
ITC & others: 250p manual (on disk); screen de¬ 
sign/display system; DBMS with variable-length 
records; multi-window editor; natural-language 
analyzer; over 200 low level routines. Printed 
manual: $15. Source code. (440K): $89. Call for 
free demo/doc. disk. 

PMI 

4536 SE 50th 

Portland, OR 97206 (503) 777-8844 
BIX: pmi; CompuServe: 74706,262 


IBM® PC MANAGEMENT TOOLS™ 

• Forecasting • Inventory Control • Quality 
Control • Project Mgt. • Statistics. • Plant Lay¬ 
out • Financial Mgt. • Production Planning. 40+ 
New programs (not pub. dom.) w/544pg. user 
manual. FREE BASIC SOURCE CODE Not Copy 
Protected! Visa, MC, Amex, Cks & Ppd PO’s. 
$99.95 + $7.50 s&h +5% GA tax. Volume Dis¬ 
counts! Call or Write. 

MANAGEMENT INFORMATION SYSTEMS, INC. 
Dept.AAP.O. Box 98209 
Atlanta, GA 30359, (404)231-1297 


TURBO FORMS 

Bullet-Proof user data entry. Unlimited charac¬ 
ter & field level data verification. Create & edit 
forms for data entry & display without recom¬ 
piling source code. Flexible formatting with 
graphics, windows, colors & display attributes. 
IBM PC & compatibles. One of PC Magazines 
“14 HOT TURBO UTILITIES: $39.95 including 
S&H. MC/VISAor C.O.D. 

GREAT LAKES SOFTWARE SYSTEMS, INC. 
2510 Capital Ave. SW Suite 203 
Battle Creek, Ml 49015 
(616)962-2017 


END YOUR FRUSTRATIONS — 

MASTER 

YOUR 

SCREENS 

WITH 



Developing, testing & changing 
screens is tedious, frustrating, 
time-consuming work. 

Until now. 

With FORMIX, you can trouble¬ 
shoot before writing one line of 
code. You can even prototype 
the entire system with actual 
screens — complete with data 
entry. Little changes in screen 
design are little effort. So are 
major changes. 

Our advance panel-oriented 
system allows you to quickly 
develop complex screens that 
integrate several panels or 
windows. 

Plus, FORMIX has an on-line 
help system. You just write the 
application help text. FORMIX 
handles the rest. 

In short, FORMIX simplifies screen 
design and slashes the cost 
of program development. Let 
FORMIX handle the tedious, 
error-prone programming aspects 
while you concentrate on solving 
today’s application problems — 
and eliminating a lot of tomorrow’s. 
And there’s more. Contact us for 
details. We’re ready to prove the 
power, flexibility & simplicity of 
FORMIX. 


An Expression of Quality 

Master Computer Systems, Inc. 

FORMIX Division 
9531 West 78 Street 
Eden Prairie, Minnesota 55344 
612/944-5220 


ATTENTION 

TURBO PROGRAMMERS! 

Use Turbo-Xtra to: 

• Break the 64K barrier 

• Compile Pascal Code Separately 

(Never recompile frequently used procedures 
again!) 

• Create memory resident libraries 

• Fully integrated with TURBO environment 

• Many libraries currently available 

(Btreet, Windows, Statistics, Time and date rou¬ 
tines, Hi-Res Graphics, more!) Only $49.95 (VISA 
+ MASTER CARD accepted) 

SYSTEMS SERVICES INTERNATIONAL 
RO. Box 2865 
Huntington, WV 25728 
(304)529-9425 


BASIC + StruBAS 

Developing serious applications in compiled 
BASIC? It’s easier with StruBAS v2.0 tools com¬ 
plementing QuickBASIC and IBM BASIC 2.0 with 
extended structured code, screens, menus, na¬ 
tive ISAM, Btrieve interface, and subroutine ob¬ 
ject library. $495 single, $1495 network. VISA/ 
MC. Not copy protected. 

Laney Systems Inc. 

3 Office Park Dr., Suite 100 
Little Rock, AR 72211 
501-225-7755 


PASCAL-to-C TRANSLATOR 

Industrial strength conversion from Turbo, Mi¬ 
crosoft, UCSD, MT+, Apollo, Macintosh, and 
other Pascals to K&R C. Handles nested proce¬ 
dures, intrinsic functions, separately compiled 
units and modules, all data types including long 
integers. 

Requires 512K IBM PC/XT/AT. Send up to 500 
lines of Pascal and we will convert it for FREE. 
Site licensing from $5,000. Conversions 50 
cents/line. 

TGLInc. 

27096 Forest Springs Ln. 

Corvallis, OR 97330 
(503)745-7476 


ATTENTION TURBO PASCAL USERS! 

Crash the 64K Barrier 

Try TURBO PACKAGE now! 

90 day money back guarantee! 

Modular Programming! 
Promotes REUSE of working CODE 
CUTS development TIME 
IMPROVES system RELIABILITY 
SIMPLIFIES program MAINTENANCE 

FILL 640KB with code/data any way you want 
VERY FEW CODE CHANGES. 
FASTER than chaining or overlaying 

SUPERMATH, FREE! 

With purchase of Turbo Package 
40 plus LONG (32-blt math) routines 
Faster than real - big enough for $. 
ASM coding insures top performance 


Just $49.95 
Visa/MC 


(in TX add tax) 
(no shipping chg) 

Write or call for more information 


CONVERSATIONAL COMPUTER SYSTEMS 

sZ 5371 Verbena Rd. 

/fT San Antonio, TX 78240 
_ V§) Phone: (512) 692-0353 


APL Programmers! 

Interface C and APL*PLUS with APL2C™! Speed 
up your APL code. Link to C libraries. Includes K 
& R C compiler. $195 Complete. FULLSCREEN 
Panels™ is here! Screen Generator and full¬ 
screen processor for the APL environment. Pop- 
ups, panels, menus, scrolling fields NO ROY¬ 
ALTIES, $150. 

Lauer Software 
PO Box 728 

Newtown, PA 18940-0728 
(609)921-6249 

True Shell for BASIC 

SHELL any other program or batch file, includ¬ 
ing other compiled BASIC programs and the 
BASIC interpreter. Requires DOS 2+ and IBM (Ver 
1 or 2) or Microsoft compiler (QB1, QB2 or 5.36). 
QB2 requires DOS 3+. Only $29.95 + $3 s/h. 
MC/VISA/COD OK. 30 day money-back perfor¬ 
mance guarantee. 

MicroHelp, Inc. 

2220 Carlyle Drive 
Marietta, GA 30062 
800-922-3383. In GA 404-973-9272 


CIRCLE 381 ON READER SERVICE CARD 


Quelo ( 


680,00 


Software 

Development 

Tools 

Quelo Assembler Packages are 
Motorola compatible. Each 
package includes a macro as¬ 
sembler, linker/locator, object li¬ 
brarian, utilities for producing 
ROMable code, extensive in¬ 
dexed typeset manuals and pro¬ 
duces S-records, Intel hex, 
extended TEK hex, UNIX COFF 
and symbol cross references. 
Portable source written in “C” is 
available. It has been ported to a 
variety of mainframes and minis 
including VAX. 

68020 Assembler Package 

For CP/M-86,-68K and MS/PC-DOS . $ 750 

68000/68010 Assembler Package 

For CP/M-80,-86,-68K and MS/PC-DOS . $ 595 

68000 “C” Cross Compiler 

For MS/PC-DOS by Lattice, Inc. 

With Quelo 68000/68010 Assembler 

Package.$1095 

With Quelo 68020 Assembler Package . $1250 

Call Patrick Adams today: 
Quelo, Inc. 

2464 33rd W. Suite #173 
Seattle, WA USA 98199 
Phone 206/285-2528 
Telex 910-333-8171 

COD, Visa, MasterCard 

Trademarks: CP/M, Digital Research: MS, 
Microsoft Corporation; Quelo, Quelo, Inc. 

CIRCLE 382 ON READER SERVICE CARD 



























SOFTWARE/PROGRAMMERS TOOLS—PUBLIC DOMAIN 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Programmers Tools 

ROMable CODE on PC! 

PCLOCATE allows PC users to develop ROM- 
based software from MS-DOS “Exe" files. The 
user specifies the physical location of all seg¬ 
ments. Output files are compatible with most 
PROM programmers. PCLOCATE supports the 
8086,8088,80186,80188, and 80286 proces¬ 
sors. MC/VISA. 

ALDIA SYSTEMS INCORPORATED 
P.0. Box 37634 
Phoenix, AZ 85069 
(602)866-1786 


Fortran Addenda ’86 

Libraries for graphics and friendly/interactive 
programs. ASMUTIL2: Total PC control; printers 
(3), CRTs (2), disks, FULL keyboard, strings, 
high-speed gets/puts, line/box, fills tile paint¬ 
ing, CGA/EGA/Hercules graphics. BUTILE 2: In¬ 
put wordprocessing/editing, non-overflowing 
formats, window management... 100 easy to 
program, “smart” routines + defaults/toggles. 
170 pg. manual & annotated samples. $95 alone; 
both $165. Specify compiler and version. 

* IMPULSE 

ENGINEERING 


PC CROSS-ASSEMBLERS 

Up to 10,000 lines per minute! Fast X-ref and 
Linker plus Macros and Librarian. Generates 
HEX, TEKHEK, S-records, and .OBJ output rec¬ 
ords. Over 40 micros and XENIX, MS DOS, CPM 
80 and ISIS versions. Accepts MOTOROLA and 
INTEL directives and Mnemonics. 

RELMS™ 

P.0. Box 6719 
San Jose,CA 95150 
(408)265-5411 

PRODUCTIVITY TOOLS 

SRMS™ Software Revision Management Sys¬ 
tem stores all versions of source code in a single 
library. Allows retrieval of any version of source 
and application of changes while recording when, 
why, and where changes were made with no du¬ 
plication of common code. DOS pathname, di¬ 
rectory, and environment variable support, 
typeset manual, much more. 

New version (2.0).$125.00. 

QMAKE™ is an intelligent system builder pat¬ 
terned after the UNIX make utility. Only compiles 
those routines that have changed since last built. 
Support for macros, multiple entry points, com¬ 
mand line parameters. Integrates fully with 

SRMS™.$99.00. 

MS/PC-DOS 2.0 (MN plus 6%) MC/VISA 
QUILT™ COMPUTING 
7048 Stratford Rd. 

Woodbury, Minnesota 55125 
(612)739-4650 


IMPULSE Engineering, B.R. Strong, Jr. 
PO. Box 3540 

San Francisco, CA 94119-3540 
(415)788-4611 


MS-COBOL SCREEN/DATA DIV. 

MSCREEN generates Screen Section code for 
MICROSOFT/IBM COBOL. Paint/Edit screens. 
No other editor needed. Select from complete set 
of attributes for each field. No field terminators. 
Many other features! $55. COBWORK generates 
Data Division code for MICROSOFT/IBM/RE- 
ALIA COBOL. $35. 

TAJEVA SOFTWARE 
6064 Belle Grove Cove S. 

Memphis, TN 38115 
(901)365-4692 


SCREEN MANAGER 


SAVE TIME! Powerful Screen 
Designer and Memory Resident 
Screen Manager Increases Pro¬ 
grammer Productivity! Interfaces 
to most languages. BASIC, 
FORTRAN, COBOL, C, PASCAL, 
PLM86, ASM. Not a Code Genera¬ 
tor! No Royalties. 


*125 

VISA/MC 


The West Chester Group 
P.O. Box 1304 
West Chester, Pa 19380 

(215) 644-4206 


FREE DEMO DISK 


CIRCLE 383 ON READER SERVICE CARD 
L A 


LINK & 

LINK & LOCATE 
enables PC users 
to produce ROM- 
based firmware for 8086/87/186 from object files 
generated by popular C compilers, such as from 
Wizard, Microsoft and Lattice, and MASM assembler 
from Microsoft. Provides full control of segment 
placement anywhere in memory. Supports output of 
Intel HEX file for PROM programmers, Intel OMF 
absolute object file for symbolic debuggers and 
in-circuit emulators. Includes Intel compatible linker, 
locator, librarian and hex formatters. $350. 

Systems & Software, Inc. 

3303 Harbor Blvd., Cl 1, Costa Mesa, CA 92626 
Phone (714) 241-8650 FAX (714) 241-0377 TWX 910-695-0125 
CIRCLE 384 ON READER SERVICE CARD 




turboMAGIC 

The slickest code generator available for 
TurboPascal programmers. Input forms. Report 
forms. Help windows. Pop-up menus. Pull-down 
menu systems. And more! Order your MAGIC 
today for only $99. 30-day full money back 
guarantee. Requires IBM PC compatible with 
256K RAM. 

Sophisticated Software Inc. 

6586 Old Shell Road 

Mobile, AL 36608 

(800) 225-3165 or (205) 342-7026 


FIRMWARE PRODUCTION ON PC 

LINK&L0CATE enables PC users to produce 
ROM-based firmware for 8086/87/186 from ob¬ 
ject files generated by C, PL/M compilers & 
MASM. Provides full control of segments place¬ 
ment anywhere in memory. Supports output of 
INTEL hex file for PROM programmer, absolute 
object file for symbolic debugger & ICE, and MS- 
DOS EXE file. Includes an INTEL compatible 
linker, locator, librarian and hex formatters. $350. 



3303 Harbor Blvd., C11 
Costa Mesa, CA 92626 
(714)241-8650 

BASIC Base 007 

BASIC database library including menues, 
passwords, program generator, query, screen 
control, data record control, index commands for 
add, delete, find, find next, find last. $15 demo 
with disk manual and compiled database soft¬ 
ware. $99 development system with library 
source code and printed manual. $165 for com¬ 
piled & all 4,000 + lines of BASIC code. 
Application Micro Computers, Inc. 

1663 Bachan Ct. 

Reston, Va. 22090 
(703)471-1471 -3:00 to 9:00 PM. 

PRE-PROCESSOR 

Add custom features to any language: longer 
identifiers, opcode, register and operator syn¬ 
onyms, nested macros, etc. C Source Code in¬ 
cluded. Not copy protected. OK to share. $19.95 
-u s/h. MC/VISA. 

SUPERTECH 
11410 NE124 St., #6143 
Kirkland, WA 98034-4399 
(206)488-9253 


BOOSTERS V2.0 IS HERE! 

Tools for Turbo Pascal programmers who need 
the speed and efficiency of online code. 70+ 
string, video, and DOS routines—incl. Exec. V2.0 
also incl. powerful new SCREEN GENERATOR, 
DOS SHELL, and many example programs. All 
Pascal and assembler source, manual, update 
notices. No Royalties. $40 + 4% GA tx. Visa/MC. 
GEORGE F. SMITH & COMPANY 
609 Candlewick Lane 
Lilburn, GA 30247, (404) 923-6879 


Public Domain 


TURBO PASCAL ” SOFTWARE $6 

Write or call for information about: 

• Systems & applications development tools 

• Programs for home and business 

• Communication tools & applications 

• Games in specialized applications 

• Scientific/engineering programs & routines 

• Graphics including animation tools 
TURBO S.I.X. 

P.O. Box 8373 
Waco, TX 76714 
(817)753-2182 

NEW PUBLIC DOMAIN LISTING 
13,000 MS DOS PROGRAMS with brief de¬ 
scriptions, 52 pages, $4. Also available on disks 
for $10 including search program. This months 
special set 5 disks $2 including p+h. 90 pro¬ 
grams including Mandelbrot Set Images, Cal¬ 
Tech utilities, advanced Lotus tutorial, artificial 
art, Freecalc V2, Genealogy V4. Send your card 
+ $4 to or call: The Public Domain Software Co. 
THE PUBLIC DOMAIN SOFTWARE COPYING 
COMPANY 
33 Gold Street 
NYC, NY 10038 

800-221-7372 • NY 212-732-2565 

TURBO PASCAL $2/disk 

TSS is a BBS-by-mail, no modem needed (long 
distance is more $$$ than mails)! 60+ disks of 
Pascal files. Most incl. source code. All files 
compressed. Membership fee ($25) incl. free 
starter pkg. and 2 FREE disks with 1st order. Non¬ 
members $7/disk. Cat. list $5. VISA/MC/CGD 
(s/h extra) (data) 617-545-9131 
TURBO SOURCE SEARCH 
P.O. BOX 876 
SCITUATE, MA 02066 
(voice) 617-545-6677 


| COMPUTING^ LIMITEd[ 



MASCOT network diagram 


Canada K7L1C7 


ingstc , 

(613) 548-4355 


Real-Time Multitasking 

Kernel for the IBM PC 

• Supports MASCOT modular real-time design 
methodology 

• Extensive built-in debugging facilities 

• Shared memory for intertask communication 

• Synchronization and mutual exclusion 

• Modular design and implementation approach 
allows unit and sub-network testing 

• Can use DOS DEBUG with application 

• Can access all PC-DOS facilities 

• C language interface (specify compiler) 

• Device drivers may be written in C 

• No royalties 

• $795 includes software, manual, support, 
updates 


CIRCLE 385 ON READER SERVICE CARD 






























SOFTWARE/SCIENTIFIC—UTILITIES 

TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Scientific 


Security Devices 


SCI/ENG GRAPHICS 

OMNIPLOT [S] (screen graphics) & OMNIPLOT 
[P] (plotter driver) provide integrated engineer¬ 
ing/scientific 2-D & 3-D graphics with NO PRO¬ 
GRAMMING! Menu-driven, flexible, professional. 
Choice of formats: tabular/line, contour, bar, pie, 
3-D wire frame & much more! OMNIPLOT [S] 
$195. Add OMNIPLOT [P], both $295. 
MICROCOMPATIBLES, INC. 

301 Prelude Dr. Dept. J 
Silver Spring, MD 20901 
(301)593-0683 

TECHWRITER SCIENTIFIC 

Complete word processing system that easily 
blends Greek, mathematical symbols, and 
chemical structures with standard text. Power¬ 
ful, yet easy-to-use, TechWriter features over¬ 
sized scientific characters, headers, footers, and 
automatic footing, index, and table of contents 
generation. 



CMI SOFTWARE 
1395 Main Street 
Waltham, MA 02154 
(617)899-7244 

8087 FFT/VECTOR PROCESSING 

The VECTOR87 library is written in assembler, 
includes 60 routines to speed up your number¬ 
crunching programs. Uses 80(2) 87 extensively. 
PC IK real FFT takes only 1.2 sec. Versions for 
Fortran (MS, RM, Lahey), C (MS, Lattice), Turbo 
Pascal -87. $150 per version with source, no 
royalties. Write for technical information. 
VECTORPLEX Data Systems Ltd. 

136-100 Maitland Place N.E. 

Calgary, Alberta, Canada T2A 5V5 
(403)248-1250 


SMART COPY PROTECTION 

Attention Software Developers, are you tired of 
Copy Protection that: 

-is NOT transparent to the user. 

-does not allow backups. 

-requires I/O plugs or special media. 

-doesn’t support hard or cartridge disks, 
-makes you pay for every disk protected, 
-requires source code changes. 

-can be beaten by hardware copy boards. 

If so, EVERLOCK can solve these problems for 
only $495. Free info & demo disk available. 



Az-Tech Software, Inc. 

426 Grandview 
Richmond, MO 64085 
(816)776-8153 

SECURE AT/XT/PC 

Control system access, data access! FiXT/S. 
Control system boot for most popular XT/PC hard 
disk controllers. Feature for AT-and-XT-com- 
patible HD controllers segments hard disk by 
volumes, controls access with passwords, sup¬ 
ports hard disk expansion. $80 $120+$3 shpg. 
plus CA tax. 


Golden Bow Systems 
2870 Fifth Ave. Suite 201 
San Diego, CA 92103 
(619)298-9349 



Statistics 


DATA ACQUISITION & ANALYSIS 

‘MEASURE for data acquisition directly to Lo¬ 
tus 1-2-3*FOURIER PROSPECTIVE II advanced 
signal digital analysis ‘Lotus Manuscript & 
technical document preparation system*PRIME 
FACTOR FFT subroutine library. Call Turbo Pas¬ 
cal, C, Fortran, Basic. Up to 65,520 data-points. 
2D available*Turbo Pascal from Borland 
‘TELEVISION for Image Communications 
‘8087 Coprocessors, all varieties*Dash-16A/D 
converter board from MetraByte. 

ALLIGATOR TECHNOLOGIES, INC. P.0. Box 11386 
Costa Mesa, CA 92627 (714) 662-0660 


STATISTICS FORECASTING 

TWG/ARIMA—a univariate Box-Jenkins fore¬ 
casting package, designed for statisticians. 
EASI/ARIMA—same as above, for the non¬ 
statistician. 

ELF—The Statistical Package—a general pur¬ 
pose statistical package. Call or write for more 
information. $150. EACH. 

THEWINCHENDON GROUP, INC. 

PO. Box 10339 
Alexandria, VA 22310 
(703)960-2587 


NUMERICAL C SOFTWARE 

Computationally stable numerical routines for 
scientific C software developers. LINLIB con¬ 
tains all the basic vector and matrix routines so¬ 
lutions to equations, LU, QR, Cholesky factors of 
matrices, least squares solutions. LINLIB has 
splines, B-spline routines, spline interpolation, 
spline approximation of data. $150. 
INFORMATION AND GRAPHIC SYSTEMS 
15 Normandy Court 
Atlanta, GA 30324 
Call (404) 231-9582 


STATISTIX™—ONLY $75! 

STATISTIX is a powerful and very easy-to-use 
interactive statistical system for micros. Used by 
many major universities, businesses, state gov¬ 
ernments and research organizations. Please 
check us out before you buy a statistics pro¬ 
gram; you’ll agree SX is a “best buy"! SATIS¬ 
FACTION GUARANTEED-For more info: 

NH ANALYTICAL SOFTWARE 
801 West Iowa Avenue 
St. Paul, MN 55117 
(612)488-4436 


RATS! VERSION 2.0 

RATS, the best selling Econometric software 
package now includes daily & weekly data, a new, 
easier to use 500-page manual, & many ad¬ 
vanced features. Use RATS for time-series & 
cross-section regression, including OLS, 
ARIMA, VAR, logit, & probit. IBM PC or compati¬ 
ble. $200. VC/Visa. Call for brochure. 

VAR Econometrics, Inc. 

P.O. Box 1818 
Evanston, IL 60204-1818 
1(800)822-8038 


P-STAT® 

Full mainframe package for IBM PC/XT/AT & 
compatibles. Combines data & file manage¬ 
ment, data display, statistical analysis, report¬ 
writing & survey analysis in a single package. 
4GL programming language, online HELP, menu 
or command driven with interactive EDITOR. $95 
demo and Site License available. 

P-STAT Inc. 

471 Wall Street, P.O. Box AH 
Princeton, N.J. 08542 
Telephone: 609-924-9100 
Telex: 466452 


Pick & Choose for Your PC 

BMDP Statistical Software offers 40 programs 
for data analysis. But you can choose any com¬ 
bination to suit your needs. From simple statis¬ 
tics and plots, to t-tests, ANOVA, ANCOVA, 
stepwise regression, time series, frequency ta¬ 
bles, survival analysis and more! Call for your 
free catalog. Hard disk req’d. 



STATISTICAL SOFTWARE 


BMDP Statistical Software, Inc. 
1440 Sepulveda Blvd. 

Los Angeles, CA 90025 
(213)479-7799 


Taxes 


Where Does the Time Go? 

TUSKER knows! TIME & USAGE KEEPER logs 
and reports your computer time; meets and ex¬ 
ceeds IRS requirements for proving tax 
deduction. 

‘Define your own business uses 
*6 reports in any date range for any printer 
‘Log non-computer time too! 

DOS 2.0+. $88. Free brochure. $4 demo disk. 

Craig Banning 

Route 3, Box 317 

Big Pine Key, FL 33043 

(305)872-3817 


Terminal Emulation 


BARR/HASP INTELLIGENT RJE 
WORKSTATION 

Hardware and software communications pack¬ 
age for IBM PC, XT and AT. Simultaneously 
transmits data to host and receives output di¬ 
rectly to MVS/JES2, MVS/JES3, VS/RSCS, and 
CDC/NOS, bypassing TSO and CMS. Emulates 
IBM 3777-2 and HASP on IBM 360/20. Line 
speed: 1,200 to 19,200 baud (56,000 bps on AT). 
Supports multiple high-speed printers beyond 
2,400 Ipm. (6,000 Ipm on AT). Features: 
concurrent DOS, LAN support, printer forms 
control, plotter support, unattended operation, 
easy installation. $1,290 includes Hardware 
& Software. 

EMRR 


BARR SYSTEMS, INC. 

2830 NW 41 st Street, Building M 
Gainesville, FL 32606 
(800)-BARR-SYS/(904) 371-3050 


Utilities 


AT/XT/PC HARD DISK EXPANSION 

“Replace hard disk with a bigger one, or add a 
second drive! Vfeature BREAKS THE 33 MBYTE 
BARRIER on standard AT, XT, and compatible 
hard disk controllers. Includes multiple vol¬ 
umes, security features, selectable clusters, 
keyboard lock. $80-$120 + $3 shipping + CA 
Tax” 


Golden Bow Systems 
2870 Fifth Avenue, Suite 201 
San Diego, CA 92103 
(619)298-9349 

DOCUMENTATION MANAGER 

Create and maintain manuals - procedure man¬ 
uals, program documentation / system user 
manuals, etc. * Edit files with the excellent Nor¬ 
ton Editor (included) * Save User Defined con¬ 
figuration * Save screen dumps to files * Variety 
of Print Options * 

$69.95 complete MasterCard/Visa 

Benix 

PHENIX HOSPITAL SYSTEMS 
1616 Palm Avenue 
Deland, FL 32724 
(904)736-1132 

























SOFTWARE/UTILITIES 

TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARK ET 


Utilities 


SAVE THAT SCREEN! 

Do you immediately reach for the PrtSc key to 
save screen info? What a waste of time and pa¬ 
per! Now, SCREENSNAP™ lets you save and re¬ 
call up to 9 screens at the touch of a key. Friendly 
with other resident programs but unlike some it 
is compact; will run in as little as 5K. Also in¬ 
cludes useful utilities to save and recall from files, 
programmer’s interface and sample code. Build 
your own help screens with your text editor, then 
save and recall them with SCREENSNAP $39. 
Programming ARTS 
P.0. Box 219 
Milltown, NJ 08850 

Call 800-443-4160; NJ (201) 846-7242 

FILE PRINT MANAGER 

GLISTER™ 

★ Use DOS wildcards to build a list of up to 100 
files to print 

★ Save/restore file lists 

★ Restart a file on any page after a printer jam 

★ Print multiple copies 

★ Control: margins, line/page length, spacing, 
user-formatted header/footer lines and more 

★ Prints files as fast as printer is capable $49 
Programming ARTS 

P.0. Box 219 
Milltown, NJ 08850 

Call 800-443-4160; NJ (201) 846-7242 


VCACHE GETS YOUR DISK 
MOVING! 

Hard disk accelerator increases speed of car¬ 
tridge and fixed disk operations using memory 
caching to eliminate repetitive disk access. Al¬ 
locate up to 15Mb of extended or expanded 
memory, or ,5Mb of standard memory for cach¬ 
ing disk data. Includes diskette and screen ac¬ 
celerator modules. Automatic and transparent 
after installation. $65+ $3 shpg, CA tax. 



GOLDEN BOW SYSTEMS 
2870 Fifth Avenue, Suite 201 
San Diego, CA 92103 
(619)298-9349 

LIMSIM 

Expanded Memory Simulator for the PC/AT and 
compatible 286 machines. Use the extended 
memory you already have as Lotus style Ex¬ 
panded Memory. Fully supports EMS version 3.2. 
Requires 70k of conventional memory. $50 ($75 
with assembler source) plus $5 s/h. 30 day 
money back guarantee. 

Larson Computing 
1556 Halford Ave. #142 
Santa Clara, CA 95051 
(408)737-0627 


XT/AT HARD DISK DIAGNOSTICS! 

Disk Manager Diagnostics performs extensive 
tests on your ST412/506 hard disks. Areas tested 
are: Controller, data write/read, seek test, auto¬ 
matic error correction(ECC), random reads and 
media defects. Interactive help. Excellent error 
detection and isolation. $49.95 + ship. VISA/MC 
accepted. 

QNTRflCK 

s COMPUTER SYSTEMS INC. 

Ontrack Computer Systems, Inc. 

6222 Bury Drive 
Eden Prairie, MN 55344 
(612)937-1107 


TallScreen—DOS POWER 

Natural extension of DOS. Scroll back through 
screen output, edit text on full screen, mark blocks 
to printer or file, recall commands & directories, 
enter multiple commands, capture screens from 
application programs, create user profiles. Solid 
tech support. PC MAG & PC WORLD calls 
TallScreens a Real bargain at $49.95. VISA/MC 



Qualitas, Inc. 

8314 Thoreau Drive 


QUALITAS 


Bethesda, MD 20817 
(301)469-8848 


AT’s DON’T NEED 360KB DRIVES 


The 1.2MB drive has long been known to READ but NOT reliably 
WRITE on 360KB floppies. With “CPYAT2PC” 1.2MB drives CAN 
reliably WRITE 360KB floppies saving a slot for a second hard 
disk or backup tape. “CPYAT2PC” (Not Copy Protected) offers 
the preferable SOFTWARE SOLUTION. 

• NO software or hardware modification 

• A 360K drive is NOT required 

• “CPYAT2PC” program MAY reside on hard disk 

• Runs on IBM PC/AT and COMPATIBLES 

i.e. Compaq Deskpro 286/386, AT&T 6300 + , 

HP Vectra, Sperry PC/IT, Tandy 3000 
Only $79.00 + $4.00 S/H VISA, MC, COD, UPS-B/R 
ORDER TOLL FREE 1-800-621-0851 XT777 
TELEX EZLINK 62873089 
Dealer Inquiries Invited 
MICROBRIDGE COMPUTERS 9^ 

655 Skyway #125 
San Carlos, CA 
CA 415-593-8777 
NY 212-334-1858 

CIRCLE 386 ON READER SERVICE CARD 



CHARACTER CUSTOMIZATION 

CHARGENI 3.0 works with the IBM/EGA to let 
you modify the character set, allowing many 
wordprocessors to display technical material, 
equations or other special characters. Requires 
DOS 2 x or 3.x, IBM Standard or Enhanced 
Graphics Adapter. $35+ $2 s/h (MN add 6%). 
DK Micro Consultants 
RO. Box 6714 
Minneapolis, MN 55406 
(612)722-0931 


THE NEWMAN UTILITIES 

50 utils includes help system below and disk + 

system utilities $19.95 

EZRUN menu. Run 1-36 programs $19.95 

CACHER. speedup disk access 10X $19.95 

HELP system for DOS 3.1 + add your own $9.95 

All $45, $2 demo, 15 day MB guar., $2 Ship 

NEWMAN COMPUTER 

2 Briar Mills Drive Suite 2-A 

Bricktown, NJ 08724 

(201)458-5169 


uaid Analyzer 

the tool 
that created 
CopyWrite 

Now you can debug your own programs 
with a professional quality debugger - 
the one that unraveled every form of 
copy-protection used on the PC. 



With the Quaid Analyzer, you can: 

□ See occurences of any interupt, with its 
meaning shown on the screen. 

□ View memory as text or instructions, 
scrolling as easily as you do with an editor. 

□ Run until a memory location or I/O port is 
changed. 

□ Protect your hard disk from accidental 
destruction. 

□ Analyze software without the source, even 
when it uses countermeasures to thwart 
tracing. 

□ See all stages of the boot load. 

We kept the Quaid Analyzer off the 
market to avoid helping publishers with 
copy-protection. Now that copy¬ 
protection is gone, we can sell it to 
you. 


The Quaid Analyzer is a software tool occupying 100K bytes. It 
runs on any IBM PC and most MS-DOS systems without hard¬ 
ware modification. 


g| Quaid Software Limited 


$99 U.S. 

All orders shipped at 
our expense within a 
day. All major credit 
cards accepted. 



can (416) 961-8243 


or write to: 

45 Charles St. East 
Third Floor, Dept. 602 
Toronto, Ontario. M4Y 1S2 


Ask about Disk Explorer the program that takes over 
where Quaid Analyzer leaves off. 

CIRCLE 387 ON READER SERVICE CARD 




















SOFTWARE/UTILITIES—MISCELLANEOUS/PUBLICATIONS 








... 


■H 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS 


Utilities 


DISK ACCELERATOR V2.0 

DiskCache speeds up your hard disk access. Disk 
caching and ram disk in one package. Ram disk 
shares cache space. Transparent, flexible, con¬ 
figurable, no h/w changes. RAM, EMS, and AT 
extended memory versions incl. Not copy pro¬ 
tected. VISA, MC, volume discounts. No PO’s 
w/o prior approval. $49.00 
Datamorphics Ltd., 

P.0. Box 820 

Stittsville, Ontario, Canada KOA 3G0 
Or call (613) 836-2670 


DISK UPGRADE BIOS for ATs 

DUB-14 overides AT Drives Table to allow any 
compatible drive to be attached and fully used 
on the standard AT controller. Two ROMs plug 
into empty sockets on system board. Includes 
complete Set-Up routine and low-level format 
facility. Works with UNIX, XENIX, other OS and 
networks. $95 + $3 shpg. CA tax. 


" <3 

GOLDEN BOW SYSTEMS 
2870 Fifth Avenue, Suite 201 
San Diego, CA 92103 
(619)298-9349 


HARD DISK EXPANSION! 

Disk Manager allows the installation of any 
ST506 hard disk on PC,XT,AT and compatibles. 
Volumes up to 256mb! Menu driven/auto in¬ 
stall, compatible w/ all vers of MS/PC DOS (does 
not modify DOS), up to 16 volumes, easy to use! 
$125+ ship. Ask about Novell product! Dealer 
inquiries invited. 

QNTRRCK 

a COMPUTER SYSTEMS INC. 

Ontrack Computer Systems, Inc. 

6222 Bury Drive 
Eden Prairie, MN 55344 
(612)937-1107 


Miscellaneous 

Bar Coding 

^■■■■■■■ 

BAR CODE READERS 

• IBM PC/XT, AT, AT&T 6300/7300 etc. key¬ 
board models or RS-232 interface 

• NO programming. Reads dot matrix 

• Auto-recognition and single code decoding 

• Reads Code 39. UPC A/E Codabar & 12 of 5 

• Units in stock, 2 year warranty great margins. 





MAKE YOUR PC 
SEEM LIKE AN AT! 

MAKE YOUR AT 
SEEM LIKE A 
DREAM MACHINE! 


fANSI- 
CONSOLE 

The Integrated Console Utility™ 

FAST, POWERFUL 
ANSI.SYS REPLACEMENT 

For the IBM-PC, AT, and clones 
New Version 2.00 is MUCH FASTER 

Now blink free scrolling on CGA! 
Now use EMS for scroll recall! 

New option menu program! 

•Speed up your screen writing 
•Extend your ANSI.SYS to full VT100 
•Scroll lines back onto screen 
•Save scrolled lines into a file 
•Add zip to your cursor keys 
•Free your eyes from scroll blinking 
•Easy installation 
•Get 43 line EGA support 
•Over 50 useful options 

“The psychological difference is 
astonishing” -LotusJune85pg8. 
“So many handy functions rolled into 
one unobtrusive package” 

PC-World Feb 86 pg 282. 
“The support provided by the 
publishers is extraordinary.” 

-Capital PC Monitor May 86 pg 25 
“...the best choice for improving your 
console...” 

-Capital PC Monitor June 86 pg 282. 

460p Manual (w/slip case) 
and software diskettes $75. 

Satisfaction Guaranteed! 
Order Yours Today! 

HERSEY MICRO CONSULTING 
Box 8276, Ann Arbor, Ml 48107 
(313) 994-3259 Visa/MC/Amex 

DEALER INQUIRIES INVITED 
CIRCLE3880N READERSERVICECARD 


CIRCLE 389 ON READER SERVICE CARD 


Tech Marketplace ... the 

comprehensive guide to 
products and services for the 
MS DOS market. 


2190 W. 11th 
Eugene, OR 97402 
(503)344-1189 

$99 BAR CODE READERS 

We need Distributors & OEMs worldwide. Our 
readers are IBM PC/XT/AT & Tandy 1000/2000 
keyboard compatible, convertible to RS232 In¬ 
terface, have auto code distinction, need no ad¬ 
ditional software and are availabe from 
assembled board to fully packaged units. From 
US $99 plus wand in modest OEM quantities. 
ASP MICROCOMPUTERS 
P.0. BOX 259, CAULFIELD EAST 3145 
VICTORIA, AUSTRALIA 

PHONE 011 61 3 5000628 (note time difference) 


To place your ad 
in Tech 

Marketplace call 
212-503-5115. 


Publications 


Advanced TurboPascal Book 

“Turbo Pascal—Advanced Applications” a new 
book for serious programmers. Written by the TP 
experts, it covers topics such as optimization 
techniques, interrupts, system level tools, 
graphics, and more. In-depth and thorough. 
$16.95; or with MS DOS disk $29.95. Add $1.50 
shipping (US & Canada). Free info. 

Rockland Publishing 
190 Sullivan Crossroad, Suite 107 
Columbia Falls, MT 59912 
(406)257-9119 

AN INVITATION TO STEAL 

Bad copyright—or none at all? Your software may 
be public domain. Protect your work before you 
show it. Learn how to copyright software inex¬ 
pensively and effectively. Software Copyright 
Guide. $6 ppd. 

Innovation Press 
Dept. 112 
Box 351 

Highland, IL 62249 


Compress your data 
into 1/10"’ the space! 

Introducing ARC. It’s used to create and main¬ 
tain data file archives for computers operating 
under any DOS system. 

But it does something that other archive 
and library utilities can’t. It automatically 
squeezes the files being saved so they ^ 
take up less space. Like a can of con- j| 

centrated orange juice. H ||§& 

From 20% to 90% less, depending on 
the kind of data being saved! /**% 

So there’s more room to store data, ( |||||l|i 

no matter what media it’s stored on! And \—J 

that’s like giving a shot of vitamin C to ABIE* 

your savings on equipment and supplies. 

This compressed data can be trans- H 

mitted over telephone lines in a lot less 

time than it takes to transmit uncom- ^ jlMB 
pressed data. So you can beat the high WmBm Bp npHHBB 

cost of phone bills to a pulp, as well. ^mmr - 

ARC has a full range of functions for archive 
creation and maintenance Including password 
encryption to protect data from unauthorized use. 

Typi cal Compre ssion Rates_ 

S Program! I ASCII ^“"^Ispread- 

files I _ ftext I _ f Sheets 

20% to ^^^J50%to I O |50% to ■ 

30%. j ^ 160%. ^™j™J 90 ° o 




® A 0 I 

System Enhancement Associates • 21 New Street, Wayne, NJ 07470 • (201)473-5153 










































INDEX TO ADVERTISERS 


PC TECH JOURNAL FEBRUARY 1987 


READER 

SERVICE NUMBER ADVERTISER PAGE 


116 Advanced Logic Research.Cover 3 

* Aldebaran.24 

141 Alsys. 86 

214 Answer Software.21 

136 Arity Corporation.139 

206 Array Technologies, Inc..78 

122 Arrix. 149 

* AST Research, Inc.48 & 49 

203 Atron.8 

249 Atron. 18 


105 Barrington Systems.54 

* BC Associates.201 

102 Blaise Computing.113 

* Borland Int’l.Gatefold Cover 

2 54 Borland Int’l.1 

124 Bourbaki.141 

* Business Engrg. Systems.200 

* Business Opportunity 

Publishers.178 & 192 


147 Code Blue.12 & 13 

212 Coefficient Systems.88 

114 ComCal.35 

144 Computer Innovations.6 & 7 

* Creative Programming Consultants... 15 3 

145 Cresent Software.186 

161 Crosspoint Systems.103 

167 Crosstalk Communications.... Back Cover 

261 Custom Software Systems.190 

* C-Ware. 191 

217 CXI.. 163 


110 Digiboard.194 

123 Digi Data. 181 

178 Dynatech.29 


<r!31 Ecosoft.110 

190 ESP Software.152 

* Evsan Co.,.202 


119 FairCom.102 

117 Farbware.191 

* Flagstaff Engineering.114 


READER 

SERVICE NUMBER ADVERTISER PAGE 

* Gimpel Software.149 

113 Haven Tree Software Limited.134 

* Hawaiian Village...200 

149 IBEX Computer Corp.191 

218 IBM Corp.104 & 105 

* Information Technologies.198 

135 Innovation Computer.142 

108 Innovative Data Tech.170 

216 Intel Corp..30 & 31 

209 Interactive Microware.191 

226 Korros......143 

148 Kurtzberg Computer Systems.174 

128 Lahey Computer Systems, Inc.189 

160 Lattice, Inc.133 

163 Lifeboat Assoc.25 

173 Lifeboat Assoc.144 

229 LOGITECH Inc...20 

* Lotus Development...123 

125 Lugaru.112 

180 Magus, Inc. Ill 

263 Mansfield Software.118 

133 MEF Environmental.186 

259 Meta Ware Inc.60 

211 Micro Data Base Systems.58 

257 MicroHelp, Inc.162 

* Microsoft Corp.23 

121 Microsoft Corp..46 & 47 

* MicroTech.22 

155 MicroWay.131 

* MicroWay. 203 

154 Migent.98 

186 MITS. 184 

174 Mortice Kern.121 

224 Nantucket Corp.132 

191 Norcom. .s.154 

109 Novell.165 

222 Opt-Tech Data Processing.4 

185 Overland Data, Inc.185 

* PC Brand..90-93 

159 PC Designs.197 

215 Periscope Company.5 

146 PharLap.177 

153 Plotworks.154 

164 Polytron.182 

* Precision Data Products.202 

252 Pro/Am..140 

175 Programmer’s Connection.41-43 

143 Programmer’s Paradise.199 

220 Programmer’s Shop. 44 

162 Programmer’s Shop.26 & 27 

183 Proteus.196 


READER 

SERVICE NUMBER ADVERTISER PAGE 


223 Quadram.117 

239 Quantum Software.115 


166 Raima Corp.11 

157 Rainbow Technology..194 

* Ram Explosion.202 

192 Realia.146 

137 Ryan-McFarland. 145 


* Scantel Systems Ltd.202 

187 Scientific Endeavors.186 

170 Seattle Telecom.172 

201 SoftCraft Inc.2 

196 Software Link.12 0 

120 Software Merchants.64 

189 Software Security.84 

130 Solution Systems.16 

129 Solution Systems.148 

177 Stargate Technologies.186 

244 Stoneybrook Software.116 

176 Storage Dimensions.155 

195 Summit Software.14 & 15 

118 Sundog.155 

158 Sunny Hill Software.156 

184 Sunny Tech Inc.196 

231 Systems & Software.188 


194 Tall Tree Systems.37 

197 Tall Tree Systems.39 

182 TeleVideo.... 138 

246 Tiara Computer Systems, Inc.160 

198 True Basic.82 

193 TurboPower Software.28 


156 Unify Corp.56 

169 Upper Bound Micro Computer.147 


115 Vermont Creative Software. .19 

127 VF Associates.194 

204 Video 7. 74 


150 W alonick Associates.157 

243 Weltec Digital..189 


214 


PC TECH JOURNAL 




































































































































INDEX TO PRODUCTS 


PC TECH JOURNAL FEBRUARY 1987 


RS# PRODUCT ADVERTISER PAGE 


IBM AND COMPATIBLE PC’S 

116 The PC2/286 Advanced Logic Research ....Cover 3 

226 Industrial AT Korros Data Systems .141 

159 GV 386 PC Designs, Inc.197 

183 Compatible Proteus Technology Corp.196 

182 TeleCat 386 TeleVideo .138 

127 VF PC VF Associates .194 


MULTIFUNCTION/MEMORY CARDS 

216 Above Board PS Intel Corporation .,.30 & 31 

155 Number Smasher Microway .131 

170 PC 386 Seattle Telecom & Data .172 

197 RT Boards Tall Tree Systems .39 


GRAPHICS CARDS 

206 EGA Wonder Array Technologies, Inc.78 

204 Vega Deluxe Video 7 .74 


MASS STORAGE HARDWARE 

123 9 Track Tape Digi Data .181 

178 Turn-On Dynatech Systems Inc.29 

* 9 Track Tape Flagstaff Engineering .114 

149 Magtape Subsystem Ibex Computer Systems .191 

185 9 Track Tape Sub System Overland Data, Inc.185 

231 Perstor 200 Systems and Software .188 

169 The Eagle Series Upper Bound Micro Computer .. 147 

243 Mass Storage Product Weltec Digital Inc.189 


PRINTERS-PLOTTERS 

194 J Laser Plus Tall Tree Systems .;.37 


DATA ACQUISITION 

209 Catalogue Interactive Microware .191 


RS# PRODUCT ADVERTISER PAGE 


PROGRAMMER’S TOOLS 

* Tree Diagrammer/Source Print 

214 ICD 286 

249 Miniprobe 

203 PC Probe 

* Mail Order 

* DeSmet 

144 C86 

* Vitamin C 

145 QuickPak 

261 PCAT 

119 R-Tree/C-Tree 

113 Flowchart 

148 C Tree Query 

160 Programming Tools 

125 Epsilon 

211 MDBS III 

* C Cross Compiler 

257 Basic Programmer 

191 Screen IO 

222 Opt-Tech Sort 

153 Plott 88 

252 Dis-N-Data 

192 Real C/CS 

137 Fortran 

201 Btrieve 

244 The Watcher 

158 Turbo Professional/Taskview 

193 Turbo Pascal Utilities 

115 Windows for C 


Aldebaran . 

Answer Software . 

Atron .. 

Atron ... 

BC Associates ... 

C-Ware ... 

Computer Innovations . 

Creative Programming Consult. 

Crescent Software . 

Custom Software Services . 

FairCom . 

HavenTree Software .. 

Kurtzberg Computer Systems . 

Lattice, Inc. 

Lugaru Software . 

Micro Data Base Systems . 

Micro Tech Research .. 

MicroHelp, Inc. 

Norcom . 

Opt-Tech Data Processing . 

Plotworks, Inc. 

Pro-Am Software ... 

Realia, Inc. 

Ryan-McFarland .. 

Softcraft . 

Stoneybrook Software . 

Sunnyhill Software . 

Tubro Power Software .. 

Vermont Creative . 


.24 

. 21 

.18 

. 8 

....201 
....191 
6 & 7 
• 153 
....186 
...190 
....102 
....134 
....174 
....133 
....112 

.58 

.22 

....162 

...154 

.4 

...154 

...140 

...146 

....145 

.2 

....116 

....156 

.28 

.19 


SOFTWARE UTILITIES 

102 Turbo Power Tools Plus 

254 Sidekick, Superkey, Turbo 

Lightning 
114 Bookmark 

190 Command Plus 

180 Data Windows 

215 Periscope 

146 80386 Tools 

157 Software Sentinal 

176 Speedstar 


Blaise Computing .113 

Borland Inti.Gatefold & 1 

Corneal .35 

ESP Software .152 

Magus, Incorporated .Ill 

Periscope Company, The .5 

Phar Lap Software, Inc.177 

Rainbow Technologies, Inc.194 

Storage Dimensions .155 



MICRO-MINI MAINFRAME COMMUNICATIONS 


254 

Prolog & Pascal 

Borland Inti.Gatefold Cover & 1 

217 

PCOa 5250 Products 

CXI . 

.163 

189 

The Block 

Software Security . 

.84 


LOCAL AREA NETWORKS 



* 

AT Multifunction Family 

AST Research . 

48 & 49 

161 

Crosspoint 8 

Crosspoint Systems . 

.103 

108 

LEO 

Innovative Data Technology 

.170 

186 

LANbasic, LANdbase, LANscreen MITS . 

.184 

246 

Tiara Link 

Tiara Computer Systems Inc. 

.160 


OTHER COMMUNICATION 

HARDWARE 


212 

V-Term 

Coefficient Systems . 

.88 

110 

Digiboard Com/XI 

Digiboard, Inc. 

.194 

109 

SFT Netware 

Novell, Inc. 

.165 

223 

“The 386” 

Quadram, Inc. 

.117 

177 

Stargate OC8000 

Stargate Technologies . 

.186 


OTHER COMMUNICATION 

SOFTWARE 


147 

Mail Order 

Code Blue . 

12 & 13 

167 

Crosstalk 

Crosstalk 




Communications ...Back Cover 

196 

Multi Link Advanced 

Software Link . 

.120 



SCIENTIFIC/ENGINEERING SOFTWARE 


150 

Statpac Gold 

Walonick Associates . 

.157 


LANGUAGES 



141 

ADA Compiler 

Alsys, Inc. 

.86 

136 

Prolog Compiler 

Arity, Inc. 

.139 

105 

Clarion 

Barrington Systems, Inc. ... 

.54 

131 

ECO-C88-Microstat 

Ecosort Inc. 

.110 

117 

Modula-2 

Farbware . 

.191 

* 

C-Terp 

Gimpel Software . 

.149 

135 

Marshal Pascal 

Innovation Computers . 

.142 

128 

F77L Lahey Fortran 

Lahey Computer Systems . 

.189 

173 

163 

Programming Tools 

Lifeboat Associates . 

Lifeboat Associates . 

.144 

.25 

229 

Modula 2 

Logitech . 

.20 

263 

Personal Rexx 

Mansfield Software . 

.118 

259 

Professional Pascal-High 

Metaware . 

.60 

* 

Language Newsletter 

Microsoft Corporation . 

.23 

121 

Quickbasic 

Microsoft Corporation . 

...46 & 47 

154 

Enrich 

Migent Software Inc. 

.98 

130 

Brief 

Solution Systems . 


195 

Better Basic 

Summit Software . 

... 14 & 15 

198 

True Basic 

True Basic . 

.82 


EXPERT SYSTEMS/AI SOFTWARE 


129 ZAP Solution Systems .148 


GRAPHIC SOFTWARE 

187 Graph C Scientific Endeavors Corp.186 


DATA BASE MANAGEMENT SOFTWARE 

254 Reflex Borland Inti.Gatefold & 1 

* HAL Lotus Development Corp.123 

224 Clipper Nantucket Corporation .132 

166 DBvista Raima Corporation .11 

120 Simple Software Merchants Unltd.64 

156 Unity Unity Corporation .56 


OPERATING SYSTEMS 

174 MKS Tool Kit Mortice Kern Systems, Inc.121 

239 QNX Quantum Software Systems .115 


PUBLICATIONS 

Business Publication Business Opportunity 


OTHER SERVICES 

133 No Limit/IOPRO MEF Environmental, Inc.186 

118 Squish Sundog Software .155 


OTHER SUPPLIES 

164 PolyV Polytron Corp. ..182 


MAIL ORDER 

* Mail Order Business Engineering Systems .200 

* Mail Order Evsan Company .202 

Mail Order Hawaiian Village Computer .200 

* Mail Order ITS-Info. Tech. Svcs.198 

* 8087 Boards Microway .203 

* Mail Order Precision Data Products .202 

143 Util., Edit., Function, Graphics Programmer’s Paradise .199 

220 Mail Order Programmer’s Shop .44 


175 Mailorder Programmer’s Connection ..41&43 

* Mail Order The Ram Explosion .202 

* Mail Order Scantel Systems Ltd .202 

184 Mailorder Sunny Tech, Inc.196 


FEBRUARY 1987 


215 





























































































































CALENDAR 



FEBRUARY 

February 2-6 

Third International 
Conference on Data 
Engineering 
Los Angeles, CA 

Sponsor: IEEE-CS 
Contact: IEEE-CS, 1730 
Massachusetts Avenue NW, 
Washington, DC 20036- 
1903; 202/371-0101 

February 10-12 

Systems Design and Inte¬ 
gration Conference 
San Francisco, CA 

Sponsors: IEEE and ERA 
(Electronic Representatives 
Association) 

Contact: Deanna Myerson, 
Electronic Conventions Man¬ 
agement, 8100 Airport Blvd., 
Los Angeles, CA 90045; 
800/421-6816; in California, 
• 800 / 262-4208 

February 10-13 

Designing Modem Soft¬ 
ware/User Interfaces 
Anaheim, CA 

Sponsor: Integrated Com¬ 
puter Systems 

Contact: Yolande Amundson, 
Manager Education Services, 
5800 Hannum Avenue, P.O. 
Box 3614, Culver City, CA 
90231; 800/421-8166; in 
Canada, 800/267-7014 

February 12-13 

Implementing DB2 
Chicago, IL 

Sponsor: Digital Consulting 
Associates, Inc. 

Contact: Seminar Services 
Department, 8 Windsor 
Street, Andover, MA 01810; 
617/470-3880 


February 17-19 

Computer Science 
Conference ’87 
St. Louis, MO 

Sponsor: ACM 

Contact: Arlan DeKock, Con¬ 
ference Chairman, University 
of Missouri-Rolla, Rolla, MO 
65401; 314/341-4491 

February 22-28 

Third Artificial Intel¬ 
ligence Applications 
Conference 
Kissimee, FL 

Sponsor: IEEE-CS 
Contact: Jan Aiken, Aion 
Corporation, 101 University, 
Fourth Floor, Palo Alto, CA 
94301; 415/328-9595 

February 23-24 

Micro-mainframe Links 
Boston, MA 

Sponsor: Digital Consulting 
Associates, Inc. 

Contact: Seminar Services 
Department, 8 Windsor 
Street, Andover, MA 01810; 
617/470-3880 

February 26-27 

IBM’s DBMS and 4GL: 
Strategies and Implemen¬ 
tation Alternatives 
Toronto, Ontario, Canada 

Sponsor: Digital Consulting 
Associates, Inc. 

Contact: Seminar Services 
Department, 8 Windsor 
Street, Andover, MA 01810; 
617/470-3880 


MARCH 

March 15-20 

GUIDE 67 
Anaheim, CA 

Sponsor: GUIDE 


Contact: Bill Reinberger, 
GUIDE International Corpo¬ 
ration, 111 E. Wacker Drive, 
Chicago, IL 60601; 
312/644-6610 

March 17-19 

Reliability in Distributed 
Software and Database 
Systems 

Williamsburg, VA 

Sponsor: IEEE-CS 
Contact: Edwin C. Foudriat, 
NASA, Langley Research 
Center, Information Systems 
Division, MS 469, Hampton, 
VA 23665; 804/865-3535 

March 22-26 
Computer Graphics ’87 
Philadelphia, PA 

Sponsor: National Computer 
Graphics Association 
Contact: NCGA, 2722 Merri- 
lee Drive, Suite 200, Fairfax, 
VA 22031; 800/225-6422; in 
Virginia, 703/698-9600 

March 23-27 

Theory and Practice of 
Software Development 
Pisa, Italy 

Sponsor: Universite di Pisa 
Contact: Pierpaolo Degano, 
Dipartimento di Informatica, 
Universite di Pisa, Corso Ita¬ 
lia, 401-56100 Pisa, Italy 

March 30-April 2 

Ninth International 
Conference on Software 
Engineering 
Monterey, CA 

Sponsors: ACM SIGSOFT 
and IEEE-CS 

Contact: William E. Riddle, 
Software Design and Analy¬ 
sis, 1760 Bear Mountain 
Drive, Boulder, CO 80303; 
303/499-4782 


March 31-April 3 

ANSYS 1987 Conference 
Newport Beach, CA 

Sponsor: Swanson Analysis 
Systems, Inc. 

Contact: Swanson Analysis 
Systems, Inc., Johnson Road, 
P.O. Box 65, Houston, PA 
15342-0065; 412/746-3304 

March 31-April 3 

PC-based Tools for Soft¬ 
ware Analysis and Design 
Boston, MA 

Sponsor: Integrated Com¬ 
puter Systems 

Contact: Yolande Amundson, 
5800 Hannum Avenue, P.O. 
Box 3614, Culver City, CA 
90231; 800/421-8166; in 
Canada, 800/267-7014 


CALLS FOR PAPERS 

Deadline: February 1 

Symposium on Proto¬ 
col Specification, Test¬ 
ing, and Verification 
Zurich, Switzerland 

(May 5-8, 1987) 

Sponsor: IFIP WG 
Submit papers to: H. 
Rudin and C. H. West, 

IFIP Protocol Symposium, 
IBM Zurich, 8803 Ruschli- 
kon, Switzerland 

Deadline: February 16 

Operating Systems 
Principles 
Austin, TX 

(November 9-11, 1987) 
Sponsor: ACM 
Submit papers to: Alfred 
Spector, Department of 
Computer Sciences, Car- 
negie-Mellon University, 
Pittsburgh, PA 15213 


216 


PC TECH JOURNAL 


ILLUSTRATION • DAVID POVILAITIS 







































Use these reader service cards to get 

FREE 1 N F 0 R M A T i O N 


about the products and services 
in this issue of TECH JOURNAL 

Learning more about a product that’s advertised or mentioned in an article 
in this month’s issue is as simple as 1-2-3. And absolutely free. 


1 Print or type your name 
and address on 
the attached card. 

Use only one card per person. 


h 



2 Circle the numbers on the card that 
correspond to the numbers at the bot¬ 
tom of the advertisements or articles 
for which you want more information. 

(Key numbers for advertised products also appear in 
the Advertisers’ index.) 


Simply mail the card, 
and the literature 
will be mailed to you free 
of charge by the manufacturer. 


Are you personally involved in 
the selection of microcomputers 
and related products for: 

I Your company or 
organization? 
a D Yes b D No 

2 Your client companies or 
organizations? 

C D Yes *>□ No 

3 Are you planning to purchase 
in the next 6 months: 

E D PC Hardware? 
f D PC Software? 
g D PC Peripherals? 


101 

116 

131 

146 

161 

176 

191 

206 

221 

236 

251 

266 

281 

296 

311 

326 

341 

356 

371 

386 

102 

117 

132 

147 

162 

177 

192 

207 

222 

237 

252 

267 

282 

297 

312 

327 

342 

357 

372 

387 

103 

118 

133 

148 

163 

178 

193 

208 

223 

238 

253 

268 

283 

298 

313 

328 

343 

358 

373 

388 

104 

119 

134 

149 

164 

179 

194 

209 

224 

239 

254 

269 

284 

299 

314 

329 

344 

359 

374 

389 

105 

120 

135 

150 

165 

180 

195 

210 

225 

240 

255 

270 

285 

300 

315 

330 

345 

360 

375 

390 

106 

121 

136 

151 

166 

181 

196 

211 

226 

241 

256 

271 

286 

301 

316 

331 

346 

361 

376 

391 

107 

122 

137 

152 

167 

182 

197 

212 

227 

242 

257 

272 

287 

302 

317 

332 

347 

362 

377 

392 

108 

123 

138 

153 

168 

183 

198 

213 

228 

243 

258 

273 

288 

303 

318 

333 

348 

363 

378 

393 

109 

124 

139 

154 

169 

184 

199 

214 

229 

244 

259 

274 

289 

•304 

319 

334 

349 

364 

379 

394 

110 

125 

140 

155 

170 

185 

200 

215 

230 

245 

260 

275 

290 

305 

320 

335 

350 

365 

380 

395 

111 

126 

141 

156 

171 

186 

201 

216 

231 

246 

261 

276 

291 

306 

321 

336 

351 

366 

381 

396 

112 

127 

142 

157 

172 

187 

202 

217 

232 

247 

262 

277 

292 

307 

322 

337 

352 

367 

382 

397 

113 

128 

143 

158 

173 

188 

203 

218 

233 

248 

263 

278 

293 

308 

323 

338 

353 

368 

383 

398 

114 

129 

144 

159 

174 

189 

204 

219 

234 

249 

264 

279 

294 

309 

324 

339 

354 

369 

384 

399 

115 

130 

145 

160 

175 

190 

205 

220 

235 

250 

265 

280 

295 

310 

325 

340 

355 

370 

385 

400 


Please print clearly—Use only one card per person. 

Name_Phone (_ 

Title__ 


Void after May 31,1987 


Company. 
Address_ 


Apt. 


-Zip- 


City____State_ 

(Zip code must be included to insure delivery.) 

□ Please send me 1 year (13 issues) of PC Tech Journal for $26.70 and bill me. 
I’ll save 50% off the cover price. TJ2872 



Are you personally involved in 
the selection of microcomputers 
and related products for: 

I Your company or 
organization? 
a D Yes No 

2 Your client companies or 
organizations? 

C D Yes No 

3 Are you planning to purchase 
in the next 6 months: 
e D PC Hardware? 

F D PC Software? 
g D PC Peripherals? 


101 116 

102 117 

103 118 

104 119 

105 120 

106 121 

107 122 

108 123 

109 124 

110 125 

111 126 

112 127 

113 128 

114 129 

115 130 


131 146 

132 147 

133 148 

134 149 

135 150 

136 151 

137 152 

138 153 

139 154 

140 155 

141 156 

142 157 

143 158 

144 159 

145 160 


161 176 

162 177 

163 178 

164 179 

165 180 

166 181 

167 182 

168 183 

169 184 

170 185 

171 186 

172 187 

173 188 

174 189 

175 190 


191 206 

192 207 

193 208 

194 209 

195 210 

196 211 

197 212 

198 213 

199 214 

200 215 

201 216 

202 217 

203 218 

204 219 

205 220 


221 236 251 

222 237 252 

223 238 253 

224 239 254 

225 240 255 

226 241 256 

227 242 257 

228 243 258 

229 244 259 

230 245 260 

231 246 261 

232 247 262 

233 248 263 

234 249 264 

235 250 265 


266 281 296 

267 282 297 

268 283 298 

269 284 299 

270 285 300 

271 286 301 

272 287 302 

273 288 303 

274 289 304 

275 290 305 

276 291 306 

277 292 307 

278 293 308 

279 294 309 

280 295 310 


311 326 

312 327 

313 328 

314 329 

315 330 

316 331 

317 332 

318 333 

319 334 

320 335 

321 336 

322 337 

323 338 

324 339 

325 340 


341 356 

342 357 

343 358 

344 359 

345 360 

346 361 

347 362 

348 363 

349 364 

350 365 

351 366 

352 367 

353 368 

354 369 

355 370 


371 386 

372 387 

373 388 

374 389 

375 390 

376 391 

377 392 

378 393 

379 394 

380 395 

381 396 

382 397 

383 398 

384 399 

385 400 


Please print clearly—Use only one card per person. 

Name 

Void after May 31,1987 

Title Phone ( ) 

Comoanv 

Address 

Apt. 

City State 

r 

Zip 


(Zip code must be included to insure delivery.) 

□ Please send me 1 year (13 issues) of PC Tech Journal for $26.70 and bill me. 
I’ll save 50% off the cover price. 








































































I 


FREE 

INFORMATION 


Follow the instructions 
on the reverse side of 
this card to 
receive advertisers’ 
product information. 
FREE. 


SUBSCRIBE 
NOW! 

Now’s an ideal time to 
consider having us start 
you as a PC Tech Journal 
subscriber. 

13 issues cost you only 
$26.70...a savings of 
50% off the cover price. 

Special PC Tech Journal 
Directory published in 
November included with 
your subscription! Just 
check the box at the 
bottom of the reply card. 



BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 27346 PHILADELPHIA, PA 


Postage will be paid by addressee 

For - IBM computer e x"p 'e'Vt s 



OURNAL 


I P.O.Box40086 
Philadelphia, PA 19106-9931 


~l 


NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


1 


J 


NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO, 27346 PHILADELPHIA, PA 


Postage will be paid by addressee 



OURNAL 

PO. Box 40086 
Philadelphia, PA 19106-9931 


i 






































































PERFORMANCE 


Is Here To 


NETWORK 386™ IS NOW AVAILABLE 
WITH NOVELL NETWORK 286™ 
AND ALR/LAN™ (ARCNET 
COMPATIBLE) CARDS 


Advanced Logic Research, Inc. 

10 Chryslei; Irvine, California 92718 - (714) 581-6770 


FAX: (714) 581-9240- 
TELEX: 5106014525, 
Answer back Advanced Logic 


In Canada contact ALR (416) 229-6477 


Machines 


Advanced Logic Research, Inc, the first com¬ 
puter company to introduce the 80386 system. 
Advanced Logic Research again is the first 
company to include a special edition of 
DESQV1EW® software to take advantage of the 
80386 virtual mode. 


Access 386 Multitasking Windows 
This DESQVIEW software can control nine (9) 
simultaneous MS-DOS® applications running 
concurrently plus QEMM, a Lotus®/Intel® / 
Microsoft® (LIM) expanded memory specifica¬ 
tion compatible. The QEMM breaks the 640K 
memory barrier to 8 megabytes of high speed 
memory. This creates bigger spread sheets, sorts 
larger databases and powers through your most 
complex progr ams at pulse quickening speed! 


Access 386 more 
than triples your 
^ processing 
capacities 


80386 


80286 

5.5 


8088 

1.0 


18.5 


ACCESS 386 more than triples your processing 
capacities. A 32 bit interleave memory data path 
eliminates through put slowdowns by doubling 
the flow capacities of 80286 16 bit systems. 


TM 


80386 includes 
Special Edition 
Virtual Mode 


Advanced Logic Research offers a complete 
family of 8088, 80286 and the NEW 80386 
based microcomputers in a variety of configura¬ 
tions. Please contact your nearest authorized 
ALR dealer for brochures on the enhanced IBM 
compatible microcomputer manufactured by 
Advanced Logic Research. 


This memory through put, plus the speed of a 
16 MHz 80386 CPU will streak through industry 
standard software faster than anything else! 


ACCESS 386 


MODEL - ACCESS 386-40 

• 80386-16 32 bit processor 

• 16MHz CPU Speed 

• Phoenix BIOS 

• 1Mb RAM Expandable to 10.5 megabyte 

• 1.2 MB floppy 

• 42 Mb/28 MS hard disk drive 

• Serial port, parallel port 

• 80287-10 or 80387 support 

• 8 system expansion slots 

• QEMM - Expanded Memory (LIM) software 

• DESQVIEW™ - Special Edition 


MODEL - ACCESS 386-80 

As above with 80 Mb/28 MS hard disk drive 
in place of 42 Mb/28 MS drive. 


ACCESS 386 is a Trademark of Advanced Logic Research. DESQ is a registered Trademark of Quarterback Office Systems. MS-DOS is a registered Trademark of Microsoft Corporation. Novell and 
NetWare are registered Trademarks of Novell. Inc. 


CIRCLE NO. 116 ON READER SERVICE CARD 





























































No matter where you take 
CROSSTALK Mk.4 


♦ ♦ ♦ 

You won’t encounter a PC communications program with as much versatility as 
CROSSTALK®Mk. 4, It has everything we could imagine you needing today. More 
protocols — X.PC, Xmodem, Kermit, and our own CROSSTALK. More terminal 
emulations, including complete IBM 3101, DEC VT-IOO, andTeleVideo 900 
series Concurrent communications capability — up to 15 sessions, each 
displayed in its own expandable window, or on separate' 'pages. ’ ’ Error 
checking at high speeds. Prepared script files to extract information from 
I I most popular information utilities. A powerful programming language 
\ to create customized scripts. Finally, we’ve built-in a bit of tomorrow. 

\ CROSSTALK Mk. 4 is based on a modular architecture that means we 

\ can add new capabilities by phone, as they come along. So you ’re 

getting more than today ’s standard in communications software. 

1 A You’re getting tomorrow’s as well. 

||fl /-^n^-vCCTA I Communications Associates, Inc. 

1 V^-tx V»/\\l /\Ll\ 1000 Holcomb Woods Parkway 

\ | COMMUNICATIONS Roswell. Georgia 30076